Changeset 155
- Timestamp:
- Dec 27, 2012, 10:53:03 AM (11 years ago)
- Location:
- trunk/DirectShowSpy
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/DirectShowSpy/Configuration.h
r150 r155 237 237 238 238 //////////////////////////////////////////////////////// 239 // CProppageRegistrationPropertyPage 240 241 class CProppageRegistrationPropertyPage : 242 public CPropertyPageT<CProppageRegistrationPropertyPage>, 243 //public CDialogResize<CProppageRegistrationPropertyPage>, 244 public CWindowWithPrivateMessagesT<CProppageRegistrationPropertyPage> 245 { 246 public: 247 enum { IDD = IDD_REGISTRATION_PROPPAGEREGISTRATION_PROPERTYPAGE }; 248 249 BEGIN_MSG_MAP_EX(CProppageRegistrationPropertyPage) 239 // CModuleRegisrtationPropertyPageT 240 241 template <typename T> 242 class CModuleRegisrtationPropertyPageT : 243 public CPropertyPageT<T>, 244 //public CDialogResize<T>, 245 public CWindowWithPrivateMessagesT<T> 246 { 247 protected: 248 typedef CModuleRegisrtationPropertyPageT<T> CModuleRegisrtationPropertyPage; 249 250 public: 251 252 BEGIN_MSG_MAP_EX(CProppageRegistrationPropertyPagCModuleRegisrtationPropertyPage) 250 253 CHAIN_MSG_MAP(CPropertyPage) 251 //CHAIN_MSG_MAP(CDialogResize< CProppageRegistrationPropertyPage>)254 //CHAIN_MSG_MAP(CDialogResize<T>) 252 255 CHAIN_MSG_MAP(CWindowWithPrivateMessages) 253 256 MSG_WM_INITDIALOG(OnInitDialog) 254 COMMAND_ID_HANDLER_EX( IDC_REGISTRATION_PROPPAGEREGISTRATION_REGISTER, OnRegister)255 COMMAND_ID_HANDLER_EX( IDC_REGISTRATION_PROPPAGEREGISTRATION_UNREGISTER, OnUnregister)256 COMMAND_ID_HANDLER_EX( IDC_REGISTRATION_PROPPAGEREGISTRATION_USERREGISTER, OnUserRegister)257 COMMAND_ID_HANDLER_EX( IDC_REGISTRATION_PROPPAGEREGISTRATION_USERUNREGISTER, OnUserUnregister)257 COMMAND_ID_HANDLER_EX(T::IDD + IDC_REGISTER, OnRegister) 258 COMMAND_ID_HANDLER_EX(T::IDD + IDC_UNREGISTER, OnUnregister) 259 COMMAND_ID_HANDLER_EX(T::IDD + IDC_USERREGISTER, OnUserRegister) 260 COMMAND_ID_HANDLER_EX(T::IDD + IDC_USERUNREGISTER, OnUserUnregister) 258 261 REFLECT_NOTIFICATIONS() 259 262 END_MSG_MAP() 260 263 264 public: 265 266 //////////////////////////////////////////////////// 267 // Resource Identifiers 268 269 enum 270 { 271 //IDD_PROPERTYPAGE, 272 IDC_STATUS = 10, 273 IDC_PATH = 11, 274 IDC_REGISTER = 12, 275 IDC_UNREGISTER = 13, 276 IDC_USERSTATUS = 14, 277 IDC_USERPATH = 21, 278 IDC_USERREGISTER = 22, 279 IDC_USERUNREGISTER = 23, 280 IDC_USERNOTE = 24, 281 }; 282 261 283 private: 284 CPath m_sLocalPath; 262 285 CRegistrationPropertySheet& m_PropertySheet; 263 286 CRoEdit m_StatusEdit; … … 275 298 276 299 public: 277 // C ProppageRegistrationPropertyPage278 C ProppageRegistrationPropertyPage(CRegistrationPropertySheet* pPropertySheet) throw() :300 // CModuleRegisrtationPropertyPageT 301 CModuleRegisrtationPropertyPageT(CRegistrationPropertySheet* pPropertySheet) throw() : 279 302 m_PropertySheet(*pPropertySheet) 280 303 { 281 304 } 305 VOID SetLocalPath(const CPath& sLocalPath) 306 { 307 _A(!_tcslen(m_sLocalPath) && _tcslen(sLocalPath)); 308 m_sLocalPath = sLocalPath; 309 } 282 310 VOID UpdateControls() 283 311 { 284 class __declspec(uuid("92A3A302-DA7C-4A1F-BA7E-1802BB5D2D02")) PSFactoryBuffer;285 312 _A(_pAtlModule); 286 const CPath& sLocalPath = m_PropertySheet.m_sPropPagePath; 313 const CPath& sLocalPath = m_sLocalPath; 314 _A(_tcslen(m_sLocalPath)); 315 _A(m_sLocalPath.FileExists()); 287 316 #pragma region System 288 317 //CPath sPath = FindTypeLibraryPath(HKEY_LOCAL_MACHINE); 289 CPath sPath = FindClassPath(HKEY_LOCAL_MACHINE, __uuidof(PSFactoryBuffer));318 CPath sPath = FindClassPath(HKEY_LOCAL_MACHINE, T::GetSampleClassIdentifier()); 290 319 const BOOL bPathEmpty = _tcslen(sPath) == 0; 291 320 m_StatusEdit.SetValue(m_StatusArray[bPathEmpty ? 0 : 1]); … … 318 347 { 319 348 CWaitCursor WaitCursor; 320 m_StatusEdit = GetDlgItem( IDC_REGISTRATION_PROPPAGEREGISTRATION_STATUS);321 m_PathEdit = GetDlgItem( IDC_REGISTRATION_PROPPAGEREGISTRATION_PATH);322 m_RegisterButton = GetDlgItem( IDC_REGISTRATION_PROPPAGEREGISTRATION_REGISTER);323 m_UnregisterButton = GetDlgItem( IDC_REGISTRATION_PROPPAGEREGISTRATION_UNREGISTER);324 m_UserStatusEdit = GetDlgItem( IDC_REGISTRATION_PROPPAGEREGISTRATION_USERSTATUS);325 m_UserPathEdit = GetDlgItem( IDC_REGISTRATION_PROPPAGEREGISTRATION_USERPATH);326 m_UserRegisterButton = GetDlgItem( IDC_REGISTRATION_PROPPAGEREGISTRATION_USERREGISTER);327 m_UserUnregisterButton = GetDlgItem( IDC_REGISTRATION_PROPPAGEREGISTRATION_USERUNREGISTER);328 //_W(m_UserNoteStatic.SubclassWindow(GetDlgItem( IDC_REGISTRATION_PROPPAGEREGISTRATION_USERNOTE)));349 m_StatusEdit = GetDlgItem(T::IDD + IDC_STATUS); 350 m_PathEdit = GetDlgItem(T::IDD + IDC_PATH); 351 m_RegisterButton = GetDlgItem(T::IDD + IDC_REGISTER); 352 m_UnregisterButton = GetDlgItem(T::IDD + IDC_UNREGISTER); 353 m_UserStatusEdit = GetDlgItem(T::IDD + IDC_USERSTATUS); 354 m_UserPathEdit = GetDlgItem(T::IDD + IDC_USERPATH); 355 m_UserRegisterButton = GetDlgItem(T::IDD + IDC_USERREGISTER); 356 m_UserUnregisterButton = GetDlgItem(T::IDD + IDC_USERUNREGISTER); 357 //_W(m_UserNoteStatic.SubclassWindow(GetDlgItem(T::IDD + IDC_USERNOTE))); 329 358 //m_UserNoteStatic.SetIdealHeight(); 330 359 if(GetOsVersion() >= 0x00060000) // Windows Vista or Windows Server 2008 … … 336 365 } 337 366 } 338 _StringHelper::GetCommaSeparatedItems(AtlLoadString( IDC_REGISTRATION_PROPPAGEREGISTRATION_STATUS), m_StatusArray);367 _StringHelper::GetCommaSeparatedItems(AtlLoadString(T::IDD + IDC_STATUS), m_StatusArray); 339 368 _A(m_StatusArray.GetCount() == 2); 340 369 UpdateControls(); … … 372 401 CWaitCursor WaitCursor; 373 402 const BOOL bSilent = !(GetKeyState(VK_SCROLL) & 1); 374 const DWORD nExitCode = ExecuteWait(AtlFormatString(_T("%s \"%s\""), bSilent ? _T("/s") : _T(""), m_ PropertySheet.m_sPropPagePath), TRUE);403 const DWORD nExitCode = ExecuteWait(AtlFormatString(_T("%s \"%s\""), bSilent ? _T("/s") : _T(""), m_sLocalPath), TRUE); 375 404 if(bSilent) 376 405 MessageBeep(nExitCode ? MB_ICONERROR : MB_OK); … … 390 419 CWaitCursor WaitCursor; 391 420 const BOOL bSilent = !(GetKeyState(VK_SCROLL) & 1); 392 const CPath& sPath = m_sPath; //m_ PropertySheet.m_sPropPagePath421 const CPath& sPath = m_sPath; //m_sLocalPath 393 422 const DWORD nExitCode = ExecuteWait(AtlFormatString(_T("%s /u \"%s\""), bSilent ? _T("/s") : _T(""), sPath), TRUE); 394 423 if(bSilent) … … 409 438 CWaitCursor WaitCursor; 410 439 const BOOL bSilent = !(GetKeyState(VK_SCROLL) & 1); 411 const DWORD nExitCode = ExecuteWait(AtlFormatString(_T("%s /i:user /n \"%s\""), bSilent ? _T("/s") : _T(""), m_ PropertySheet.m_sPropPagePath));440 const DWORD nExitCode = ExecuteWait(AtlFormatString(_T("%s /i:user /n \"%s\""), bSilent ? _T("/s") : _T(""), m_sLocalPath)); 412 441 if(bSilent) 413 442 MessageBeep(nExitCode ? MB_ICONERROR : MB_OK); … … 427 456 CWaitCursor WaitCursor; 428 457 const BOOL bSilent = !(GetKeyState(VK_SCROLL) & 1); 429 const DWORD nExitCode = ExecuteWait(AtlFormatString(_T("%s /i:user /n /u \"%s\""), bSilent ? _T("/s") : _T(""), m_PropertySheet.m_sPropPagePath)); 430 if(bSilent) 431 MessageBeep(nExitCode ? MB_ICONERROR : MB_OK); 432 CancelToClose(); 433 } 434 _ATLCATCH(Exception) 435 { 436 AtlExceptionMessageBox(m_hWnd, Exception); 437 } 438 UpdateControls(); 439 return 0; 440 } 458 const DWORD nExitCode = ExecuteWait(AtlFormatString(_T("%s /i:user /n /u \"%s\""), bSilent ? _T("/s") : _T(""), m_sLocalPath)); 459 if(bSilent) 460 MessageBeep(nExitCode ? MB_ICONERROR : MB_OK); 461 CancelToClose(); 462 } 463 _ATLCATCH(Exception) 464 { 465 AtlExceptionMessageBox(m_hWnd, Exception); 466 } 467 UpdateControls(); 468 return 0; 469 } 470 }; 471 472 //////////////////////////////////////////////////////// 473 // CProppageRegistrationPropertyPage 474 475 class CProppageRegistrationPropertyPage : 476 public CModuleRegisrtationPropertyPageT<CProppageRegistrationPropertyPage> 477 { 478 public: 479 enum { IDD = IDD_REGISTRATION_PROPPAGEREGISTRATION_PROPERTYPAGE }; 480 481 BEGIN_MSG_MAP_EX(CProppageRegistrationPropertyPage) 482 CHAIN_MSG_MAP(CModuleRegisrtationPropertyPage) 483 END_MSG_MAP() 484 485 public: 486 // CProppageRegistrationPropertyPage 487 CProppageRegistrationPropertyPage(CRegistrationPropertySheet* pPropertySheet) throw() : 488 CModuleRegisrtationPropertyPageT<CProppageRegistrationPropertyPage>(pPropertySheet) 489 { 490 } 491 static CLSID GetSampleClassIdentifier() throw() 492 { 493 class __declspec(uuid("92A3A302-DA7C-4A1F-BA7E-1802BB5D2D02")) PSFactoryBuffer; 494 return __uuidof(PSFactoryBuffer); 495 } 496 497 // Window message handlers 498 }; 499 500 //////////////////////////////////////////////////////// 501 // CEvrpropRegistrationPropertyPage 502 503 class CEvrpropRegistrationPropertyPage : 504 public CModuleRegisrtationPropertyPageT<CEvrpropRegistrationPropertyPage> 505 { 506 public: 507 enum { IDD = IDD_REGISTRATION_EVRPROPREGISTRATION_PROPERTYPAGE }; 508 509 BEGIN_MSG_MAP_EX(CEvrpropRegistrationPropertyPage) 510 CHAIN_MSG_MAP(CModuleRegisrtationPropertyPage) 511 END_MSG_MAP() 512 513 public: 514 // CEvrpropRegistrationPropertyPage 515 CEvrpropRegistrationPropertyPage(CRegistrationPropertySheet* pPropertySheet) throw() : 516 CModuleRegisrtationPropertyPageT<CEvrpropRegistrationPropertyPage>(pPropertySheet) 517 { 518 } 519 static CLSID GetSampleClassIdentifier() throw() 520 { 521 class __declspec(uuid("7C737B87-2760-4183-B5B4-ACA7C64DD720")) EvrMixerControl; 522 return __uuidof(EvrMixerControl); 523 } 524 525 // Window message handlers 441 526 }; 442 527 … … 444 529 CRegistrationPropertyPage m_RegistrationPropertyPage; 445 530 CProppageRegistrationPropertyPage m_ProppageRegistrationPropertyPage; 446 CPath m_sPropPagePath; 531 CEvrpropRegistrationPropertyPage m_EvrpropRegistrationPropertyPage; 532 CPath m_sProppagePath; 533 CPath m_sEvrpropPath; 447 534 448 535 public: … … 451 538 CPropertySheetT<CRegistrationPropertySheet>(IDS_REGISTRATION_PROPERTYSHEETCAPTION), 452 539 m_RegistrationPropertyPage(this), 453 m_ProppageRegistrationPropertyPage(this) 540 m_ProppageRegistrationPropertyPage(this), 541 m_EvrpropRegistrationPropertyPage(this) 454 542 { 455 543 AddPage(m_RegistrationPropertyPage); 456 544 CPath sDirectory = GetPath(); 457 545 sDirectory.RemoveFileSpec(); 458 m_sPropPagePath.Combine(sDirectory, _T("proppage.dll")); 459 if(m_sPropPagePath.FileExists()) 546 m_sProppagePath.Combine(sDirectory, _T("proppage.dll")); 547 if(m_sProppagePath.FileExists()) 548 { 549 m_ProppageRegistrationPropertyPage.SetLocalPath(m_sProppagePath); 460 550 AddPage(m_ProppageRegistrationPropertyPage); 551 } 552 m_sEvrpropPath.Combine(sDirectory, _T("evrprop.dll")); 553 if(m_sEvrpropPath.FileExists()) 554 { 555 m_EvrpropRegistrationPropertyPage.SetLocalPath(m_sEvrpropPath); 556 AddPage(m_EvrpropRegistrationPropertyPage); 557 } 461 558 } 462 559 BOOL SetInitialPosition() -
trunk/DirectShowSpy/DirectShowSpy.rc
r150 r155 62 62 63 63 VS_VERSION_INFO VERSIONINFO 64 FILEVERSION 1, 0, 0, 8 0764 FILEVERSION 1, 0, 0, 829 65 65 PRODUCTVERSION 1,0,0,1 66 66 FILEFLAGSMASK 0x3fL … … 81 81 VALUE "CompanyName", "Roman Ryltsov" 82 82 VALUE "FileDescription", "Alax.Info DirectShow Spy Module" 83 VALUE "FileVersion", "1, 0, 0, 8 07\0"83 VALUE "FileVersion", "1, 0, 0, 829\0" 84 84 VALUE "InternalName", "DirectShowSpy.dll" 85 85 VALUE "LegalCopyright", "Copyright © Alax.Info, Roman Ryltsov, 2008-2011" … … 210 210 END 211 211 212 IDD_REGISTRATION_EVRPROPREGISTRATION_PROPERTYPAGE DIALOGEX 0, 0, 227, 200 213 STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD 214 EXSTYLE WS_EX_CONTROLPARENT 215 FONT 8, "MS Shell Dlg", 400, 0, 0x0 216 BEGIN 217 LTEXT "Use controls below to review current COM registration status of Windows SDK evrprop.dll, and register or unregister the library.",IDC_STATIC,6,6,215,18 218 CONTROL "",IDC_STATIC,"Static",SS_ETCHEDHORZ,6,36,216,20 219 LTEXT "System Registration ",IDC_STATIC,12,32,67,8 220 LTEXT "Status: ",IDC_STATIC,12,48,26,8 221 EDITTEXT IDC_REGISTRATION_EVRPROPREGISTRATION_STATUS,48,48,72,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP 222 LTEXT "Path: ",IDC_STATIC,12,60,20,8 223 EDITTEXT IDC_REGISTRATION_EVRPROPREGISTRATION_PATH,48,60,174,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP 224 PUSHBUTTON "&Register",IDC_REGISTRATION_EVRPROPREGISTRATION_REGISTER,48,78,50,14 225 PUSHBUTTON "&Unregister",IDC_REGISTRATION_EVRPROPREGISTRATION_UNREGISTER,102,78,50,14 226 CONTROL "",IDC_STATIC,"Static",SS_ETCHEDHORZ | NOT WS_VISIBLE,6,106,215,1 227 LTEXT "Per-User Registration ",IDC_STATIC,12,102,72,8,NOT WS_VISIBLE 228 LTEXT "Status: ",IDC_STATIC,12,118,26,8,NOT WS_VISIBLE 229 EDITTEXT IDC_REGISTRATION_EVRPROPREGISTRATION_USERSTATUS,48,118,72,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_VISIBLE | NOT WS_BORDER | NOT WS_TABSTOP 230 LTEXT "Path: ",IDC_STATIC,12,130,20,8,NOT WS_VISIBLE 231 EDITTEXT IDC_REGISTRATION_EVRPROPREGISTRATION_USERPATH,48,130,174,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_VISIBLE | NOT WS_BORDER | NOT WS_TABSTOP 232 PUSHBUTTON "Register",IDC_REGISTRATION_EVRPROPREGISTRATION_USERREGISTER,48,148,50,14,NOT WS_VISIBLE 233 PUSHBUTTON "Unregister",IDC_REGISTRATION_EVRPROPREGISTRATION_USERUNREGISTER,102,148,50,14,NOT WS_VISIBLE 234 END 235 212 236 213 237 ///////////////////////////////////////////////////////////////////////////// … … 263 287 BEGIN 264 288 IDD_REGISTRATION_PROPPAGEREGISTRATION_PROPERTYPAGE "proppage.dll" 289 IDD_REGISTRATION_EVRPROPREGISTRATION_PROPERTYPAGE "evrprop.dll" 265 290 END 266 291 … … 273 298 BEGIN 274 299 IDC_REGISTRATION_PROPPAGEREGISTRATION_STATUS "Not Registered, Registered" 300 IDC_REGISTRATION_EVRPROPREGISTRATION_STATUS "Not Registered, Registered" 275 301 END 276 302 -
trunk/DirectShowSpy/DirectShowSpy_i.c
r150 r155 7 7 8 8 /* File created by MIDL compiler version 7.00.0500 */ 9 /* at Fri Nov 23 16:43:3320129 /* at Thu Dec 27 20:32:54 2012 10 10 */ 11 11 /* Compiler settings for .\DirectShowSpy.idl: -
trunk/DirectShowSpy/DirectShowSpy_i.h
r150 r155 5 5 6 6 /* File created by MIDL compiler version 7.00.0500 */ 7 /* at Fri Nov 23 16:43:3320127 /* at Thu Dec 27 20:32:54 2012 8 8 */ 9 9 /* Compiler settings for .\DirectShowSpy.idl: -
trunk/DirectShowSpy/DirectShowSpy_p.c
r150 r155 5 5 6 6 /* File created by MIDL compiler version 7.00.0500 */ 7 /* at Fri Nov 23 16:43:3320127 /* at Thu Dec 27 20:32:54 2012 8 8 */ 9 9 /* Compiler settings for .\DirectShowSpy.idl: -
trunk/DirectShowSpy/FilterGraphSpy.h
r117 r155 187 187 CComPtr<IMediaEventEx> m_pInnerMediaEventEx; 188 188 _FilterGraphHelper::CRotRunningFilterGraph m_RunningFilterGraph; 189 INT m_nRunningFilterGraphReference; 189 190 CComPtr<IUnknown> m_pTemporaryUnknown; 190 191 CObjectPtr<CAmGraphBuilderCallback> m_pPrivateAmGraphBuilderCallback; … … 208 209 return; 209 210 _Z4(atlTraceRefcount, 4, _T("this 0x%p, m_dwRef %d\n"), this, m_dwRef); 211 m_nRunningFilterGraphReference = 0; 212 CInterlockedLong& nReferenceCount = reinterpret_cast<CInterlockedLong&>(m_dwRef); 213 const LONG nBeforeReferenceCount = m_dwRef; 210 214 static CConstIntegerRegistryValue g_nEnableRotMonikerItemNameSuffix(_T("Enable ROT Moniker Item Name Suffix")); // 0 Default (Enabled), 1 Disabled, 2 Enabled 211 215 if(g_nEnableRotMonikerItemNameSuffix != 1) … … 220 224 } else 221 225 m_RunningFilterGraph.SetFilterGraph(GetControllingUnknown()); 222 _Z4(atlTraceRefcount, 4, _T("this 0x%p, m_dwRef %d\n"), this, m_dwRef); 226 _Z4(atlTraceRefcount, 4, _T("this 0x%p, m_bIsAggregated %d, m_dwRef %d\n"), this, m_bIsAggregated, m_dwRef); 227 if(!m_bIsAggregated) 228 { 229 m_nRunningFilterGraphReference++; 230 const LONG nAfterReferenceCount = m_dwRef; 231 if(nBeforeReferenceCount == nAfterReferenceCount) 232 { 233 // NOTE: Putting onto Running Object Table succeeded, however no external reference detected which we need to compensate by self-releasing 234 m_nRunningFilterGraphReference++; 235 return; 236 } 237 } 223 238 Release(); 224 239 } … … 227 242 if(!m_RunningFilterGraph.GetCookie()) 228 243 return; 229 AddRef(); 244 if(m_nRunningFilterGraphReference != 2) 245 AddRef(); 230 246 _Z4(atlTraceRefcount, 4, _T("this 0x%p, m_dwRef 0x%x\n"), this, m_dwRef); 231 247 m_RunningFilterGraph.SetFilterGraph(NULL); … … 371 387 _ATLRETHROW; 372 388 } 373 #if defined(_DEBUG) && FALSE374 typedef HRESULT (WINAPI *DLLCANUNLOADNOW)();375 DLLCANUNLOADNOW DllCanUnloadNow = (DLLCANUNLOADNOW) GetProcAddress(hModule, "DllCanUnloadNow");376 __E(DllCanUnloadNow);377 const HRESULT nDllCanUnloadNowResult = DllCanUnloadNow();378 _Z4(atlTraceRefcount, 4, _T("nDllCanUnloadNowResult 0x%08x\n"), nDllCanUnloadNowResult);379 #endif // defined(_DEBUG)389 #if defined(_DEBUG) && FALSE 390 typedef HRESULT (WINAPI *DLLCANUNLOADNOW)(); 391 DLLCANUNLOADNOW DllCanUnloadNow = (DLLCANUNLOADNOW) GetProcAddress(hModule, "DllCanUnloadNow"); 392 __E(DllCanUnloadNow); 393 const HRESULT nDllCanUnloadNowResult = DllCanUnloadNow(); 394 _Z4(atlTraceRefcount, 4, _T("nDllCanUnloadNowResult 0x%08x\n"), nDllCanUnloadNowResult); 395 #endif // defined(_DEBUG) 380 396 _A(!m_hQuartzModule); 381 397 m_hQuartzModule = hModule; -
trunk/DirectShowSpy/resource.h
r147 r155 48 48 #define IDC_REGISTRATION_PROPPAGEREGISTRATION_USERUNREGISTER 1233 49 49 #define IDC_REGISTRATION_PROPPAGEREGISTRATION_USERNOTE 1234 50 #define IDD_REGISTRATION_EVRPROPREGISTRATION_PROPERTYPAGE 1310 51 #define IDC_REGISTRATION_EVRPROPREGISTRATION_STATUS 1320 52 #define IDC_REGISTRATION_EVRPROPREGISTRATION_PATH 1321 53 #define IDC_REGISTRATION_EVRPROPREGISTRATION_REGISTER 1322 54 #define IDC_REGISTRATION_EVRPROPREGISTRATION_UNREGISTER 1323 55 #define IDC_REGISTRATION_EVRPROPREGISTRATION_USERSTATUS 1330 56 #define IDC_REGISTRATION_EVRPROPREGISTRATION_USERPATH 1331 57 #define IDC_REGISTRATION_EVRPROPREGISTRATION_USERREGISTER 1332 58 #define IDC_REGISTRATION_EVRPROPREGISTRATION_USERUNREGISTER 1333 59 #define IDC_REGISTRATION_EVRPROPREGISTRATION_USERNOTE 1334 50 60 #define IDD_ABOUT 29900 51 61 #define IDC_ABOUT_ICON 29901
Note: See TracChangeset
for help on using the changeset viewer.