µn¿ý¸ê®Æ®w^¤åºÙ¬° registry¡A¥¦¬O Windows §@·~¨t²Îùؤ@ӫܽÆÂøªº¸ê®Æ®w¡A¥¦©Ò«O¦sªº¸ê®Æ¥]§tµwÅé³]³Æ¸ê®Æ¡BÀ³¥Î³nÅé©Ò³]©wªº¸ê®Æ¡B¨Ï¥ÎªÌ¨Ï¥Î°¾¦nªº¸ê®Æ¡B§@·~¨t²Î³]©wªº¸ê®Æµ¥µ¥¡C¨Ò¦p·í¨Ï¥ÎªÌ¦w¸Ë·s³nÅé®É¡A³oÓ·s³nÅé´N¦³¥i¯à¦bµn¿ý¸ê®Æ®wùØ¥[¤W¦w¸Ëªº¥Ø¿ý¡B¹w³]ªºµ{¦¡¡B¦p¦ó²¾°£µ¥¸ê®Æ¡C·í¨Ï¥ÎªÌ§ïÅܾާ@³]©w¡A¨Ò¦p¦b¥úºÐ¾÷¤¤©ñ¤J¥úºÐ¤ù¤£¦Û°Ê¼½©ñ¡C³o¨Ç³£·|°O¿ý¦bµn¿ý¸ê®Æ®wùØ¡CÆ[¹îµn¿ý¸ê®Æ®w³Ì±`¥Îªº¤èªk´N¬O¨Ï¥Î¡uRegEdit¡vµ{¦¡ ( RegEdit ºÙ¬°µn¿ý½s¿èµ{¦¡ )¡A±z¥i¥H¦bÁä½L¤W¥ý«ö¤U¡uWin¡vÁ䤣©ñ¡AµM«á«ö¤U¡uR¡vÁä¡A¦A©ó¸õ¥X¨Óªº¹ï¸Ü²°¤¤¿é¤J¡uRegEdit¡v( ¤£¤À¤j¤p¼g¡A¤]¥i¥H¦b¡u©R¥O´£¥Ü¦r¤¸¡v¤º¿é¤J RegEdit )¡A´N¯à¬Ý¨£¤U±ªºµøµ¡¡A¤p¤ì°¸¬O¦b Windows XP ¨t²Î¤º°õ¦æªº¡A¨ä¥Lª©ªº Windows¡A¤]À³¸Ó¬O¤j¦P¤p²§¡C
±z¥J²ÓÆ[¹î¡A¥i¥Hµo²{µn¿ý¸ê®Æ®wªºµ²ºcÄÝ©ó¾ðª¬µ²ºc¡A³Ì¤W¤@¼h¦³¤Ó¶µ¥Ø¡A¤À§O¬O HKEY_CLASSES_ROOT¡BHKEY_CURRENT_USER¡BHKEY_LOCAL_MACHINE¡BHKEY_USERS¡BHKEY_CURRENT_CONFIG¡AºÙ¤§¬°¡u¾÷½X¡v( key¡A¤j³°Â½¦¨¡uÁä¡v)¡A´«¥y¸Ü»¡¡A³Ì¤W±¤@¼h¦³¤Ó¾÷½X¡C¤£¹L³o¬O¦]¬° Windows XP ¥u¦³¤Ó¾÷½X¡A¨ä¥L¨t²Î¥¼¥²¦p¦¹¡A¦Ó³o³Ì¤W¤@¼hªº¾÷½X¤S³£¦³ÁY¼g¡A¥H¤Î©T©wªº¥N½X¡C¤Uªí¬O Windows ¨t²Î¨Ï¥Îªº³Ì¤W¼h¾÷½X¤Î¨ä¥Î³~¡G
¾÷½X | ÁY¼g | ¾÷½X¥N½X | ³Æµù |
HKEY_CLASSES_ROOT | HKCR | 80000000H | HKEY_CLASSES_ROOT ùرªº¤l¾÷½X¡A°O¸üµÛ¦UºØÀÉ®×Ãþ«¬¤£¦Pªº°ÆÀɦW¡A¨Ò¦p°ÆÀɦW¬°¡u.txt¡vªºÀɮסA´N³Q©w¸q¦¨¡u¤å¦r¤å¥ó¡v¡A¨Ã¥B°O¿ýµÛ¥ÎþºØÀ³¥Îµ{¦¡¨Ó¶}±Ò¦¹ÃþÀɮסA·í¨Ï¥ÎªÌ¥H·Æ¹«ÂùÀ»³oÃþÀɮ׮ɡA´N·|ª½±µ¥Î¸ÓºØÀ³µ{¦¡¨Ó¶}±Ò¡C |
HKEY_CURRENT_USER | HKCU | 80000001H | HKEY_CURRENT_USER ¾÷½X¬O±q HKEY_USERS l¦ù¥X¨Óªº¡A¥¦°O¸üµÛ¥Ø«e¨Ï¥ÎªÌªº¸ê®Æ¡B¹ï§@·~¨t²Îªº³]©wÈ¡C¤]¥]§tÓ¤H¤Æ§@·~Àô¹Òªº³]©w¸ê®Æ¡A¦]¦¹³\¦h³]©w³£·|¸¨¦b³oÓ¾÷½X¤¤¡C |
HKEY_LOCAL_MACHINE | HKLM | 80000002H | HKEY_LOCAL_MACHlNE °O¸ü¨t²Î¤¤¦UºØµwÅé³]©wªº¸ê®Æ¡C¥]¬A BIOS¡AµwÅé©PÃä¡B¦Lªí¾÷¡B¥úºÐ¾÷µ¥µ¥ªºµwÅé¬ÛÃö¸ê®Æ³]©w¡C |
HKEY_USERS | HKU | 80000003H | HKEY_USERS ¾÷½X°O¸üµÛ¨CӨϥΪ̪º³]©w¸ê®Æ¡C |
HKEY_PERFORMANCE_DATA | HKPD | 80000004H | Windows NT/2000/XP µ¥¨t²Î¤~¦³¡A¥\¯à©M Windows 9x ªº HKEY_DYN_DATA Ãþ¦ü¡A¦ý¥Î RegEdit µLªkÆ[¹î¨ì¡C |
HKEY_CURRENT_CONFIG | HKCC | 80000005H | HKEY_CURRENT_CONFIG ¾÷½X¬O°O¸ü¥Ø«e¨Ï¥ÎªÌ¹ï©óµwÅ骺³]©wÀÉ¡C |
HKEY_DYN_DATA | HKDD | 80000006H | ¦¹¾÷½X¥u¦³ Windows 95/98/98 SE/ME ¨t²Î¤~¦³¡A¥Î©óÀx¦s§@·~¨t²Îªº°ÊºA¸ê®Æ¡A¨Ò¦p®Ä¯à²Îpµ¥¡C©³¤U¦³¨âÓ¤l¾÷½X¡GConfigManager ©M PerfStats¡C |
³Ì¤W±¤@¼hªº¾÷½X¡A³£¥i¥H«ö¤U«e±ªº®i¶}¨Ó¡A®i¶}«áªº¤U¤@¼hºÙ¬°¡u¤l¾÷½X¡v( subkey¡A¤j³°Â½¦¨¡u¤lÁä¡v)¡C¦³¨Ç¤l¾÷½X¤§«e¦³«ö¶sªº¡AÁÙ¥i¥H¦A®i¶}¨Ó¡A¬Æ¦Ü¦³³\¦h¼h¡A¬°¤F³æ¯Â¡A³o¨Ç¦A®i¶}¤Î¨ä¥H«á®i¶}ªº¶µ¥Ø¤]³£ºÙ¬°¤l¾÷½X¡C¨Ò¦p HKEY_CURRENT_CONFIG ¾÷½X®i¶}«á¡A¦³¨âÓ¤l¾÷½X¡A¤À§O¬O¡uSoftware¡v¡B¡uSystem¡v¡A¦Ó Software ¤l¾÷½X¦A®i¶}«á¥u¦³¤@Ó¤l¾÷½X¡AFonts¡C¦³¨Ç¤l¾÷½X¤£¯à¦A®i¶}¡A¹³ Fonts ´N¬O¤£¯à®i¶}ªº¤l¾÷½X¡A¨ä«e±¨S¦³«ö¶s¡C²ßºD¤W¡A¤l¾÷½Xªºªí¥Üªk±Ä¥ÎÃþ¦ü¤l¥Ø¿ýªº¤è¦¡ªí¥Ü¡A¨Ò¦p¤W±ªº Fonts ¥i¥Hªí¥Ü¦¨¡uHKEY_CURRENT_CONFIG\Software\Fonts¡v¡Anª`·N HKEY_CURRENT_CONFIG «e¤£n¥[¤W¡u\¡v¡A¦]¬° HKEY_CURRENT_CONFIG ¤w¸g¬O³Ì¤W¼h¤F¡C·íµM¡A¤]¦³¾÷½X¤£¯à®i¶}¡A¨º´Nªí¥Ü¸Ó¾÷½X¬O³Ì¤U¤@¼hªº¾÷½X¡A³o¨Ç¾÷½X©M¤l¾÷½Xªº¤W¡B¤U¼hÃö«Y¡A³£·|¦bµn¿ý½s¿èµ{¦¡¥ªÃ䪺¤lµøµ¡¡A¥H¾ðª¬µ²ºcÅã¥Ü¡C
¨CÓ¾÷½X©Î¤l¾÷½X¡A¤£¶È¶È¥i¯à¦³¼Æ¶q¤£¦Pªº¤l¾÷½X¡AÁÙ·|¦³¤@¨Ç¼ÆÈ ( value¡A¤j³°Â½¦¨¡uÁäÈ¡v )¡A¦Ü¤Ö¡A¨CÓ¾÷½X©Î¤l¾÷½X³£·|¦Ü¤Ö¦³¤@ÓºÙ¬°¡u¹w³]È¡vªº¡u¼ÆÈ¡v¡C¦³¨Ç¤l¾÷½X¥i¯à¤£¥u¤@Ó¼ÆÈ¡A³o¨Ç¼Æȳ£·|¦bµn¿ý½s¿èµ{¦¡¥kÃ䪺¤lµøµ¡Åã¥Ü¥X¨Ó¡C¨CÓ¼Æȳ£¥]§t¡u¦WºÙ¡v»P¡u¸ê®Æ¡v¨â³¡¥÷¡C¨Ò¦p¤W±ªº Fonts ¤l¾÷½X´N¦³¨âÓ¼ÆÈ¡A¤@¬O¥H¡u¹w³]È¡v¬°¦WºÙ¡B¥H¡u¼ÆÈ¥¼³]©w¡v¬°¸ê®Æªº¼ÆÈ¡F¥t¤@Ó¬O¥H¡uLogPixels¡v¬°¦WºÙ¡B¥H¡u60H¡v¬°¸ê®Æªº¼ÆÈ¡C¼ÆÈÁö¦W¤ê¼ÆÈ¡A¦ý¨ä¸ê®Æ«o¤£¤@©w¬O¼Æ¦r¡A¦³¥i¯à¬O¦r¦ê¡A¤]¦³¥i¯à¬O¨ä¥LÃþ«¬¡C©³¤Uªºªí®æ¡A¬O¼ÆȪº¸ê®ÆÃþ«¬¡A½Ð°Ñ¦Ò¡G
ÁäȪº¸ê®ÆÃþ«¬ | ¼ÆÈ | »¡©ú |
REG_NONE | 0 | ¤£§t¯S©wÃþ«¬ªº¸ê®Æ |
REG_SZ | 1 | ¥H 0 µ²§Àªº¦r¦ê |
REG_EXPAND_SZ | 2 | ¥i®i¶}ªº¦r¦ê¡Aªí¥Ü¦¹Ãþ¦r¦ê¥]§t¦³Ãþ¦ü¡u%WinDis%¡v¤§Ãþªº¦r¦ê¡C¸I¨ì REG_EXPAND_SZ ®É¡A¥i¥H©I¥s ExpandEnvironmentStrings API ®i¶}³o¨Ç¦r¦ê¡C( µù¤@ ) |
REG_BINARY | 3 | ¤G¶i¦ì¸ê®Æ¡A¤j¦h¼ÆªºµwÅ餸¥ó¸ê®Æ·|Àx¦s¬°¤G¶i¦ì¸ê®Æ¡A¨Ã¦b¡uµn¿ý½s¿èµ{¦¡¡v¤¤¥H¤Q¤»¶i¦ìªº®æ¦¡Åã¥Ü |
REG_DWORD | 4 | 32 ¦ì¤¸¾ã¼Æ¡A³\¦h¸Ë¸mÅX°Êµ{¦¡¤ÎªA°Èªº°Ñ¼Æ³£ÄÝ©ó³oÓÃþ«¬¡A¨Ã¥B·|¦b¡uµn¿ý½s¿èµ{¦¡¡v¤¤¥H¤G¶i¦ì¡B¤Q¤»¶i¦ì©Î¤Q¶i¦ìªº®æ¦¡Åã¥Ü |
REG_DWORD_BIG_ENDIAN | 5 | 32 ¦ì¤¸ªº Big Endian ªø¾ã¼Æ |
REG_LINK | 6 | ¥i¥H¨Ï¬YÓ¾÷½X«ü¦V¥t¤@Ó¾÷½X¡A³o¨âÓ¾÷½X¦n¹³¬O³s±µ°_¨Ó¡AMSDN «Øij¤@¯ëµ{¦¡¤£À³¸Ó¨Ï¥Î³oºØ¸ê®ÆÃþ«¬ |
REG_MULTI_SZ | 7 | ¦h«¦r¦ê¡A¨â¦r¦ê¤§¶¡¥H 0 ¤À¶}¡A³Ì«á¤@Ó¦r¦ê¤§«á¦³¨âÓ 0 |
REG_RESOURCE_LIST | 8 | ¥Î©óµwÅéÅX°Êµ{¦¡©Î±±¨î¬YÓ©PÃä³]³Æ©Ò¨Ï¥Îªº¸ê·½¦Cªí¡A³q±`¬O¤@¦ê¤G¶i¦ì¼ÆÈ |
¼ÆȦWºÙªºªø«×¬O¦³¨îªº¡A©M Windows ªºª©¥»¦³Ãö¡C¥t¥~¡A¾÷½X¤¤©Ò¦³¼ÆȦWºÙªø«×Á`©M¡A¤£¥i¶W¹L 64K ¦ì¤¸²Õ¡C¦Uª©¥»ªº Windows ¼ÆȪø«×¨î¨£¤Uªí¡G
µn¿ý¸ê®Æ®w©ÒÀx¦sªº¸ê®Æ¡A¨Ã«D¶È¶È¤@ÓÀɮסA¦Ó¬O³\¦hÀɮפÀªù§OÃþÀx¦s°_¨Ó¡A³o¨ÇÀɮ׺٬°¡uregistry hive files¡v¡C¥H Windows 95 ¬°®Ö¤ßªº Windows 95/98/98SE/Me ©M¥H Windows NT ¬°®Ö¤ßªº Windows 2000/XP/Vista/8/8.1/10 Àx¦s¤è¦¡¤£¦P¡C¦b Windows 98 ¤¤¡Aµn¿ýÀÉ®×·|¦s¦b User.dat ¤Î System.dat ùØ¡F¦b Windows Me ¤¤¡Aµn¿ýÀɮ׫h¬O©R¦W¬° Classes.dat¡BUser.dat ¤Î System.dat¡C¥H NT ¬°®Ö¤ßªº¨t²Î¡A¤j³¡¤À¾÷½X³£¦s¦b %SystemRoot%\System32\config ¤l¥Ø¿ýùØ¡A¥u¦³ HKEY_CURRENT_USER ªº¸ê®ÆÀx¦s¦b %Userprofile%\NTUSER.DAT ÀÉ®×ùØ¡C
¦Û·L³n±À¥X Windows XP ¨t²Î«á¡AÓ¤H¥Î³~ªº Windos Vista/7/8/8.1/10¡A³£¥i¤À¬° 32 ¦ì¤¸ª©»P 64 ¦ì¤¸ª©¡C·Ó²z¨Ó»¡¡A32 ¦ì¤¸ªº Windows ¥u¯à°õ¦æ 32 ¦ì¤¸ªºÀ³¥Îµ{¦¡¡F¦Ó 64 ¦ì¤¸ªº Windows ¥u¯à°õ¦æ 64 ¦ì¤¸ªºÀ³¥Îµ{¦¡¡C¦ý¬O¹ê»Ú±¡§Î¨Ã«D¦p¦¹¡A32 ¦ì¤¸ªº Windows ªº½T¥u¯à°õ¦æ 32 ¦ì¤¸ªºÀ³¥Îµ{¦¡¡A¦Ó 64 ¦ì¤¸ªº Windows «o¯à°õ¦æ 32 ¦ì¤¸»P 64 ¦ì¤¸ªºÀ³¥Îµ{¦¡¡C³o¬O¦]¬° 64 ¦ì¤¸ªº Windows ¦³¤@ÓºÙ¬° WOW64 ( Windows 32-bit on Windows 64-bit ) ªº¤l¨t²Î¡A¥i¥H§â¥¦·Q¹³¦¨¼ÒÀÀ¾¹¡A¥¦±Mªùt³d¦¹¨Æ¡C·í 32 ¦ì¤¸ªºÀ³¥Îµ{¦¡¦b 64 ¦ì¤¸ªº Windows °õ¦æ®É¡A¦pn©I¥s DLL ®É¡A¥»¨ÓÀ³¸Ó¨ì¡u%SystemRoot%\system32¡v( µù¤G ) ¥Ø¿ýùØ¥h´M§ä¡A¦ý¦b 64 ¦ì¤¸ªº Windows ¤¤¡A³o¨àªº DLL ³£¬O 64 ¦ì¤¸ªºµ{¦¡½X¡A¬G¨t²Î·|®¨®¨ªº§â¥¦«·s¾É¦V¨ì¦s©ñ 32 ¦ì¤¸ªº DLL ©Ò¦b¥Ø¿ý¡A¡u%SystemRoot%\SysWOW64¡v¡A¦]¦¹Åܦ¨©I¥s¦b¡u%SystemRoot%\SysWOW64¡v¤l¥Ø¿ýùتº¡B¬Û¹ïÀ³ªº DLL¡A¦Ó©I¥sªÌ ( 32 ¦ì¤¸ªºÀ³¥Îµ{¦¡ ) «o·|¥H¬°¯uªº¬O¦b 32 ¦ì¤¸ªº Windows ¤U°õ¦æ¡C¬G¦Ó 64 ¦ì¤¸ªº Windows ¯à°õ¦æ 32 ¦ì¤¸©M 64 ¦ì¤¸ªºÀ³¥Îµ{¦¡¡C
¦Ó¦b 64 ¦ì¤¸ªº Windows ùØ¡Aµn¿ý½s¿èµ{¦¡ ( RegEdit.EXE ) ¤]¦³ 32 ¦ì¤¸»P 64 ¦ì¤¸¨âºØª©¥»¡A¤À§O¦ì©ó¡u%SystemRoot%\SysWOW64\RegEdit.exe¡v»P¡u%SystemRoot%\RegEdit.exe¡v¨â¤l¥Ø¿ýùØ¡A¦Ó¥B¦WºÙ³£¥s¡uRegEdit¡v¡C¥¦Ì³£¯à°÷¦b 64 ¦ì¤¸ªº Windows ¨t²Î¤¤°õ¦æ¡A¦ý¤£¯à¦P®É°õ¦æ¡A°£«D¨ä¤¤¤@Ó¥[¤W¡u-m¡v°Ñ¼Æ¡C¦ý¬O 32 ¦ì¤¸ªº RegEdit ¥u¯àŪ¨ú©Î¼g¤J 32 ¦ì¤¸ªº¾÷½X¡F64 ¦ì¤¸ªº RegEdit ¯à¦P®ÉŪ¨ú©Î¼g¤J 32 ¦ì¤¸¤Î 64 ¦ì¤¸ªº¾÷½X¡C³oºØ±¡§Î¡A¤]¬O¦]¬°¨t²Î¦b 32 ¦ì¤¸ªºµ{¦¡Åª¨ú©Î¼g¤J¾÷½X®É¡A§@·~¨t²Î·|°½°½¦a±N¥Ø¼ÐÂà¦V¨ì 32 ¦ì¤¸ªº¾÷½X¤º¡C
©³¤U¡A¤p¤ì°¸n½Í½Í 32 ¦ì¤¸ªº¾÷½X»P 64 ¦ì¤¸ªº¾÷½X¡C
¨Æ¹ê¤W¡A¦b 64 ¦ì¤¸ª©¥»ªº Windows ¨t²Î¤¤¡Aµn¿ý¸ê®Æ®w¤]¤À¦¨ 32 ¦ì¤¸»P 64 ¦ì¤¸ªº¾÷½X¡C³\¦h 32 ¦ì¤¸¾÷½X¨ã¦³»P 64 ¦ì¤¸ªº¹ïÀ³¾÷½X¬Û¦Pªº¦WºÙ¡AÁöµM¾÷½X¦WºÙ¬Û¦P¡A¦ý¨ä¼ÆÈ¥i¯à¤£¦P¡C³o¬O¦]¬°³\¦hÀ³¥Îµ{¦¡¦³ 32 ¦ì¤¸»P 64 ¦ì¤¸ª©ªº¤À§O¡A¦Ó¨Ï¥ÎªÌ¦³¥i¯à¦P®É¦w¸Ë©Î¨Ï¥Î¡A¦ý¨ä³]©wªº¸ê®Æ¥i¯à¤£¦P¡A¦]¦¹¤~·|¦b 64 ¦ì¤¸ªº Windows ¤¤¡A¦P®É¾Ö¦³ 32 ¦ì¤¸»P 64 ¦ì¤¸ªº¾÷½X¡CÁ|¨âÓ¨Ò¤l¨Ó»¡©ú¡A¦b 64 ¦ì¤¸ªº Windows ªºµn¿ý¸ê®Æ®wùØ¡G
¦]¦¹¡A¡uHKEY_LOCAL_MACHINE\SOFTWARE\¡v¡B¡uHKEY_CURRENT_USER\Software\¡v¬O쥻 64 ¦ì¤¸À³¥Îµ{¦¡©Ò¦s¨úªº¾÷½X©Ò¦b¦a¡AºÙ¬° 64 ¦ì¤¸¾÷½X¡F¦Ó¨ä¤Uªº¤l¾÷½X¡A¡uWow6432Node¡v¡A¬O 32 ¦ì¤¸À³¥Îµ{¦¡©Ò¦s¨úªº¾÷½X©Ò¦b¦a¡AºÙ¬° 32 ¦ì¤¸¾÷½X¡Cn§âµn¿ýªº¸ê®Æ¼g¦bþùØ¡A¨Ã¤£»ÝnÀ³¥Îµ{¦¡¾á¤ß¡CWindows ¨t²Î·|¦Û¦æ§PÂ_À³¥Îµ{¦¡¬O 32 ¦ì¤¸ÁÙ¬O 64 ¦ì¤¸¡A´N¯à°÷¦Û°Ê§âµn¿ýªº¸ê®Æ¼g¦b¥¿½Tªº¾÷½X¤U±¡C
¬Y¨Çµ{¦¡¦b Windows ¤@¶}¾÷¡A´N·|¦Û°Ê°õ¦æ¡A¨Ò¦p¡uÆF®æ´µÂ½Ä¶®a¡v¡B¡uAvast¡v¡B¡uLotus QuickStart¡vµ¥³nÅé¡C¾Ú¤p¤ì°¸©Òª¾¡A¦Ü¤Ö¦³¤TÓ¤èªk¥i¥H°µ¨ì¡G
¹w³]¿é¤Jªk¬O«ü Windows ¤@±Ò°Ê¡A®à±¤@¥X²{®Éªº¿é¤Jªk¡F¤]¬O·í¨Ï¥ÎªÌ°õ¦æ WORD µ¥À³¥Îµ{¦¡«á¡A¤@¶i¤J¸Óµ{¦¡ªº¿é¤Jªk¡C³oÓ¿é¤Jªk¬O¥i¥H¦Û¥Ñ¿ï¾Üªº¡A±z¥i¥H¨ì¡u¶}©l¡v¡÷¡u±±¨î¥x¡v¡÷¡u¤é´Á¡B®É°Ï¡B»y¨¥©M°Ï°ì¿ï¶µ¡v¡÷¡u¦a°Ï¤Î»y¨¥¿ï¶µ¡v¡÷¡u»y¨¥¡v¼ÐÅÒ¡÷¡u¸Ô²Ó¸ê®Æ¡v«ö¶s¡A´N·|¥X²{¤U¹Ï¥k¤Uªºµøµ¡¡A±z¥i¥HÝ®¤U¡u¹w³]¿é¤J»y¨¥¡v¤ºªº½Æ¦X±±¨î¶µ ( ¼Ð¥Ü③ªº¦a¤è )¡A¿ï¾Ü±z·Qnªº¹w³]¿é¤Jªk¡C
·íµM³o¶µ¿ï¾Üªºµ²ªG¡A¤]·|«O¦s¦b¸ê®Æµn¿ý®wùØ¡C±z¥i¥H¦b¡uHKEY_CURRENT_USER\Keyboard Layout\Preload¡v¾÷½X¤¤¬Ý¨£¦n´XÓ¼ÆÈ¡C¦W¬°¡u1¡vªº¼ÆÈ©Ò¥Nªíªº¸ê®Æ¡A´N¬O¹w³]ªº¿é¤Jªk¡C¥u¤£¹L³o¨Ç¸ê®Æ¡A¨Ã«D¥H¤@¥Ø¤FµMªº¤è¦¡ªí¥Ü¡A¬Ý°_¨Ó¦n¹³¥N½X¡A©³¤U¬O³o¨Ç¥N½Xªº·N¸q¡G
¿é¤Jªk¥N½X | ¿é¤Jªk¦WºÙ¤Î·N¸q |
00000404 | ¬ü¦¡Áä½L |
E0010404 | ª`µ¿é¤Jªk |
E0020404 | ܾe¿é¤Jªk |
E0050404 | ¦æ¦C¿é¤Jªk |
E0080404 | ·L³n·sª`µ¿é¤Jªk |
E0090404 | ·L³n·sܾe¿é¤Jªk |
E0200404 | ¦ÛµM¿é¤J/·s»Åµ/º~µ¿é¤Jªk |
¦pªG±z¦b Windows ªºÀÉ®×Á`ºÞ¡A¥H·Æ¹«ÂùÀ»°ÆÀɦW¬° .docx ªºÀɮסA´N·|°õ¦æ Word¡A¨Ã§â¸ÓÀɮ׸ü¤J¡A¥H¨Ñ±z½s¿è¡F¦pªG±zÂùÀ»°ÆÀɦW¬O .txt ªºÀɮסA´N·|°õ¦æ¤p§@®a¡A¨Ã§â¸ü¤J¸ÓÀɮסA¥H¨Ñ±z½s¿è¡F¦pªG±zÂùÀ»°ÆÀɦW¬° .mp3 ªºÀɮסA´N·|°õ¦æ¡uWindows Media Player¡v¡A¨Ã¼½©ñ¸Óµ¼ÖÀÉ¡CWindows ¬O«ç»ò°µ¨ì³o¨Çªº¡H³o·íµM»Pµn¿ý¸ê®Æ®w¦³Ãö¡C
¦pªG®i¶} HKEY_CLASSES_ROOT ¾÷½X¡A´N·|µo²{©³¤U¦³³\¦hÃþ¦ü¡u.docx¡v¡B¡u.txt¡v¡B¡u.mp3¡v¡K¡Kªº¤l¾÷½X¡A¦Ó³o¨Ç¤l¾÷½X¤S¸ò°ÆÀɦW¤@¼Ë¡A·Q¥²©M³o¨Æ²æÂ÷¤£¤FÃö«Y¡C¤p¤ì°¸·Q¥H°ÆÀɦW¬°¡u.txt¡v¬°¨Ò¤l¨Ó»¡©ú¡A¦pªG±zÂI¿ï¡u.txt¡v¤l¾÷½X¡AÀ³¸Ó·|¬Ý¨£¨ä¹w³]Ȭ°¡utxtfile¡v¡CµM«á±z¥i¥H¦b¡uHKEY_CLASSES_ROOT¡v§ä¨ì¡utxtfile¡v¤l¾÷½X¡A³oÓ¤l¾÷½Xªº¹w³]Ȭ°¡u¤å¦r¤å¥ó¡v¡C³oÓ¹w³]È·|¥X²{¦b¡A¨Ï¥ÎªÌ§â·Æ¹«²¾¨ì°ÆÀɦW¬°¡u.txt¡vªºÀɮפW¤@¬q®É¶¡«á©Ò¥X²{ªº¡u¤u¨ã´£¥Ü¡vªºÃþ«¬Äæ¦ìùØ¡C¦p¤U¹Ï©Ò¥Ü¡C( °£¤F¹w³]È¥~¡A.txt ¥i¯àÁÙ·|¦³¨ä¥L¼ÆÈ¡A½Ð°Ñ¦Òµù¤T )
¡utxtfile¡vùØ°£¤F¹w³]È¥~¡AÁÙ¦³¨âÓ¼ÆÈ¡AEditFlags¡BFriendlyTypeName¡C
À³¥Îµ{¦¡¥i¥H¥Î EditFlags ªº¸ê®Æ¨Ó¨î¨Ï¥ÎªÌ¹ï¸ÓºØ°ÆÀɦWªºÀÉ®×°µ¬YºØ¨î©Î³B¸m¡AEditFlags ªº¸ê®ÆÃþ«¬¥i¥H¬O REG_DWORD ©Î REG_BINARY¡A©Ò¥Nªíªº·N¸q¦p¤Uªí¡G
±`¼Æ | ¼ÆÈ | »¡©ú |
FTA_Exclude | 1H | ¥i°õ¦æÀÉ |
FTA_Show | 2H | ³oÃþ¯àÅã¥ÜÀɮתºÃþ§O¡A¨Ò¦p¸ê®Æ§¨¡A¨ä¹ê¥¦¤£¬OÀÉ®×Ãö³sªºÃþ«¬ |
FTA_HasExtension | 4H | ¦³°ÆÀɦW |
FTA_NoEdit | 8H | ¸T¤î½s¿è³oÃþÀÉ®× |
FTA_NoRemove | 10H | ¸T¤î§R°£³oÃþÀÉ®× |
FTA_NoNewVerb | 20H | ¸T¤î·s¼W¼u¥X¿ï³æ¤ºªº¿ï¶µ |
FTA_NoEditVerb | 40H | ¸T¤îÅܧó¼u¥X¿ï³æ¤ºªº¿ï¶µ |
FTA_NoRemoveVerb | 80H | ¸T¤î§R°£¼u¥X¿ï³æ¤ºªº¿ï¶µ |
FTA_NoEditDesc | 100H | ¸T¤îÅܧóÀÉ®×Ãþ«¬ |
FTA_NoEditIcon | 200H | ¸T¤îÅܧóÀÉ®×¹Ï¥Ü |
FTA_NoEditDflt | 400H | ¸T¤îÅܧó¹w³]ªº¼u¥X¿ï³æ |
FTA_NoEditVerbCmd | 800H | |
FTA_NoEditVerbExe | 1000H | ¸T¤î§ó§ï¼u¥X¿ï³æ |
FTA_NoDDE | 2000H | ¸T¤îÅܧó DDE ( Dynamic Data Exchange ) ¬ÛÃö³]©w |
FTA_NoEditMIME | 8000H | |
FTA_OpenIsSafe | 10000H | ¶}±Ò¦¹ÃþÀɮפ£·|³y¦¨¦MÀI¡A¥ç§Y¦¹ÃþÀɮפ£¥i¯àÄâ±a¯f¬r |
FTA_AlwaysUnsafe | 20000H | ¤U¸ü®É¡A¸ß°Ý§A¦p¦ó³B²zªº¼u¥Xµøµ¡¤¤¡A¡u¤£n¦A°Ý§Ú¡vÀËÅç²°¤£¥iÃö³¬ |
FTA_AlwaysShowExt | 40000H | ¦¹ÃþÀÉ®×·|Åã¥Ü°ÆÀɦW |
FTA_NoRecentDocs | 100000H | ¦¹ÃþÀɮפ£¥[¤J¡u§Ú³Ìªñªº¤å¥ó¡v( Windows XP ) ©Î¡u³Ìªñªº¶µ¥Ø¡v( Windows 7¡A¦b Win 7 ùØ¡A³Ìªñªº¶µ¥Ø¹w³]¤£¶}±Ò ) ùØ |
FriendlyTypeName ©M¡utxtfile¡vªº¹w³]Ȥ@¼Ë¡A³£¬O¥Î¨Ó°O¿ýÀÉ®×Ãþ«¬¡A¸Ó¸ê®Æ·|¥X²{¦b¨Ï¥ÎªÌ§â·Æ¹«°±¯d¦b°ÆÀɦW¬O¡u.txt¡vªºÀɮפW®É¡A¥X²{¦b¤u¨ã´£¥Ü¤¤ªºÃþ«¬ÄæùØ¡C«o¦³¨âÂI¤£¦P¡G¤@¬O¡uFriendlyTypeName¡v¥i¥H¥Î¥i°õ¦æÀÉ©Î DLL ùتº¦r¦ê¸ê·½ ( ºÙ¬°¶¡±µ¦r¦ê )¡A¤]¥i¥Hª½±µ¥H¦r¦êªí¥Ü ( ºÙ¬°ª½±µ¦r¦ê )¡A¦Ó¡utxtfile¡vªº¹w³]È¥u¯à¥H«áªÌªí¥Ü¡C¤G¬O¡uFriendlyTypeName¡v¸û¡utxtfile¡vªº¹w³]ÈÀu¥ý¡A¤]´N¬O¦pªG¨S¦³¡uFriendlyTypeName¡v¾÷½X¡A¨t²Î¤~·|¥hŪ¨ú¡utxtfile¡vªº¹w³]È¡C¬Æ¦Ü¡A¦pªG¨Ï¥ÎªÌ¸ü¤J§t¦³¡uFriendlyTypeName¡vªº¸ê®Æªº .reg Àɮ׮ɡARegEdit ¤]·|קï¡utxtfile¡vªº¹w³]È¡A¨Ï¨ä»P¡uFriendlyTypeName¡v©Ò¥Nªíªº¸ê®Æ¬Û¦P¡C
¦b¡utxtfile¡v¾÷½X¤§¤U¡AÁÙ¦³¨âÓ¤l¾÷½X¡A¡uDefaultIcon¡v¡B¡ushell¡v¡A¤À§O¥Nªí¦bÀÉ®×Á`ºÞªº¹Ï¥Ü¡B¦bÀÉ®×Á`ºÞ«ö·Æ¹«¥kÁä¥X²{ªº¿ï³æ¡C¦pªG±zÄ~Äò¶}±Ò¡ushell¡v¤l¾÷½X¡AÁÙ·|µo²{¤U±¨ä¹êÁÙ¦³¤@¨Ç¤l¾÷½X¡A¨Ò¦p¡uopen¡v¡B¡uprint¡v¡B¡uprintto¡v¡A³o¨Ç·|¦b¨Ï¥ÎªÌ¹ï¡u.txt¡vÀÉ«ö¤U·Æ¹«¥kÁä¥X²{ªº¡u¼u¥X¦¡¿ï³æ¡vùØ¡A½Ð°Ñ¦Ò¤W¹Ï¡C©Î³\±z·|°Ý¡AWindows «ç»òª¾¹D¡A¨Ï¥ÎªÌÂùÀ»¡u.txt¡vÀɮɡAn¶}±ÒÀɮשάO¦C¦LÀɮשO¡H³o¥²¶·¬Ý¡ushell¡v¤§¹w³]È¡A¦pªG¬O¼ÆÈ¥¼³]©w¡A¨º»ò´N¥H²Ä¤@Ó¤l¾÷½X¬°ÂùÀ»«á°Ê§@¡F¦pªG¡ushell¡v¤§¹w³]Ȭ°¬YÓ¤l¾÷½X¦WºÙ¡A¨º»ò´N¥H¸Ó¤l¾÷½X¬°ÂùÀ»«áªº°Ê§@¡C°õ¦æªº°Ê§@¥i¥H¦b¤l¾÷½Xªº¹w³]ȧä¨ì¡C¥H¤W¹Ï¬°¨Ò¡A¡ushell¡v¤§¹w³]Ȩå¼³]©w¡A¦]¦¹¨Ï¥ÎªÌÂùÀ»¡u.txt¡vÀɮ׮ɡA´N·|°õ¦æ¡unotepad.exe¡v¡A¨Ã¶}±ÒÂùÀ»ªºÀɮסC
³Ì«á¾ã²z¤@¤U¡AWindows ³B²z°ÆÀɦWªº¤èªk¬O¦b HKEY_CLASSES_ROOT «Ø¥ß¨âÓ¤l¾÷½X¡A²Ä¤@Ó¤l¾÷½X¬O°ÆÀɦWªº¦WºÙ¡A¦A¥H¨ä¹w³]Ȭ°¦W¡A«Ø¥ß¥t¤@Ó¤l¾÷½X¡A³oÓ¤l¾÷½X¥]§t¡uDefaultIcon¡v¡B¡ushell¡v¨âÓ¤l¾÷½X¡C½Ð°Ñ¦Ò¥k¹Ï¡A¤p¤ì°¸¥H Windows n³B²z¡u.asm¡v°ÆÀɦW¬°¨Ò¤l¨Ó»¡©ú¡C¦b HKEY_CLASSES_ROOT ©³¤U«Ø¨âÓ¤l¾÷½X¡A¡u.asm¡v¡B¡uasmfile¡v¡A¨ä¹w³]ȤÀ§O¬O¡uasmfile¡v¤Î¡u²Õ¦X»y¨¥ì©l½X¡v¡F¤]¥i¥H¦b¡u.asm¡v©³¤U¦A«Ø¥ß¤@¦W¬°¡uPerceivedType¡vªº¼ÆÈ¡A¨ä¸ê®Æ¬°¡uText¡v¡A¦ý¦¹Á|¨Ã«D¤@©wn°µ¡CµM«á¦b¡uasmfile¡v©³¤U¦A«Ø¨âÓ¤l¾÷½X¡A¡uDefaultIcon¡v¡B¡ushell¡v¡A«eªÌ¹w³]Ȭ°¥Nªí¡u.asm¡v¬°°ÆÀɦWªºÀɮ׹ϥܡA«áªÌ¹w³]È¥i¥H¤£³]©w¡C¦A©ó¡ushell¡v©³¤U«Ø¤@¦W¬°¡uedit¡vªº¤l¾÷½X¡A¨ä¹w³]È¥i¥H¤£³]©w¡CµM«á¦b¡uedit¡v©³¤U¦A³]¤@¤l¾÷½X¡A¡ucommand¡v¡A¦Ó¨ä¹w³]ȬO½s¿è¡u.asm¡vÀɩһݪºµ{¦¡¡A¨Ò¦p¡uC:\Program Files\UltraEdit-32\uedit32.exe %1¡v¡C
¨Æ¹ê¤W¡A«e±©Ò»¡ªº¡A³£¬O¦b Windows 9x/Me ¤¤ªº±¡§Î¡C¦b Windows 9x/Me ¨t²ÎùØ¡AHKEY_LOCAL_MACHINE\Software\Classes ©³¤U¤]¦³¤@¥÷©M HKEY_CLASSES_ROOT ©³¤U¤@¼Ò¤@¼Ëªº¤l¾÷½X¡C±q Windows 2000 ¶}©l¡AWindows ¨t²ÎÅܦ¨¬O¦h¤H¦h¤uªº¨t²Î¡A¦]¦¹¦b HKEY_CURRENT_USER\Software\Classes ¾÷½X¤¤¡A¥]§t¤F¤@¨Ç¥i¥H§ó§ïªº³]©w¡A¥u¾A¥Î©ó·í«e¨Ï¥ÎªÌªº³]©w¡F¦Ó¦b HKEY_LOCAL_MACHINE\Software\Classes ¾÷½X§t¦³¾A¥Î©ó¥»¾÷¹q¸£¤W©Ò¦³¨Ï¥ÎªÌªº¹w³]³]©w¡FHKEY_CLASSES_ROOT §t¦³ªº¤l¾÷½X«h¬O³o¨âÓ¤l¾÷½X©Ò¦X¨Öªºµn¿ý¸ê®Æ®w¡C¦]¦¹¡A§ÚÌ¥i¥H³o¼Ë·Q¹³¡A¦b Windows 2000 ¤Î¨ä¥H«áªº¨t²Î¡A¦³Ãö°ÆÀɦW³]Ãö³s³]©w¡A¥i¥H¦b¤TÓ¦a¤è§ä¨ì¡G
¦pªG±z±N¾÷½X¼g¤J HKEY_CLASSES_ROOT ¤Uªº¾÷½X¡A¨t²Î´N·|¦P¨B§ó§ï HKEY_LOCAL_MACHINE\Software\Classes¡C¦pªG±z±N¼Æȼg¤J HKEY_CLASSES_ROOT ¤Uªº¾÷½X¡A¨Ã¥B HKEY_CURRENT_USER\Software\Classes ©³¤U¤w¦s¦³¾÷½X¡A¨t²Î±N¥u·|§ó§ï HKEY_CLASSES_ROOT ªº¸ê°T¡A¦Ó¤£·|§ó§ï HKEY_LOCAL_MACHINE\Software\Classes ¤Uªº¸ê®Æ¡C
·í¨Ï¥ÎªÌ¦b¡uÀÉ®×Á`ºÞ¡v¤¤¡A¥H·Æ¹«ÂùÀ»¬YÓÀɮ׮ɡAWindows ·|
¦pªGn³B²zµn¿ý¸ê®Æ®w¤ºªº¸ê®Æ¡A¨Ò¦pŪ¨ú¡Bקï¡B«Ø¥ß¡B§R°£µ¥µ¥¡A³£¥²¶·¥ý¨ú±o¬YÓ¤l¾÷½Xªº¥N½X¡AµM«á¤~¯à¹ï¸Ó¤l¾÷½Xªº¼ÆÈ°µ³B²z¡C¨Æ¹ê¤W¡AWindows ¹ï¨CÓ¾÷½X©M¤l¾÷½X¥Î¤£¦Pªº¾ã¼Æ¥Nªí¡AºÙ¬°¾÷½X¥N½X ( key handle )¡C³Ì¤W¼hªº¤Ó¾÷½X¥N½X¬O©T©wªº¡A±q 80000000H¡ã80000004H¡C¦Ü©ó¤l¾÷½X¡A¤]¦U¦³¨ä¥N½X¡C¦Ó«á¦pªG¤£¦A»Ýn³B²z¸Ó¾÷½X®É¡A´NÀ³±N¨äÃö³¬¡CÀò¨ú¾÷½X¥N½X¡B§R°£¡Bקﵥ¤u§@¡A³£¦³¬Û¹ïÀ³ªº Win32 API ¥i¥H°µ¨ì¡C¦]¦¹©³¤Un¤¶²Ð¦³Ãöµn¿ý¸ê®Æ®w·|¥Îªº Win32 API¡G
Win32 API ¦WºÙ | »¡©ú |
RegOpenKeyEx | Àò±o¬YÓ¾÷½Xªº¥N½X |
RegQueryValueEx | Àò±o¬YÓ¾÷½X¤¤ªº¼Æȸê®Æ¤Î¸ê®ÆÃþ«¬ |
RegEnumKeyEx | ¦C¥X¬YÓ¾÷½X¤ºªº©Ò¦³¤l¾÷½X |
RegEnumValue | ¦C¥X¬YÓ¾÷½X¤ºªº©Ò¦³¼ÆÈ |
RegQueryInfoKey | ¨ú±o¬Y¤@¾÷½X¤§¼ÆÈӼơB¤l¾÷½XӼơB¼ÆȦWºÙ³Ì¤jªø«×¡B¤l¾÷½X³Ì¤jªø«×µ¥¸ê®Æ |
RegCreateKeyEx | «Ø¥ß¤l¾÷½X |
RegCloseKey | Ãö³¬¾÷½X |
¦b¦´Áª©¥»ªº Windows ùØ¡AÁÙ¥i¥H¨Ï¥Î¸û²³æªº RegOpenKey¡BRegQueryValue¡K¡Kµ¥ API¡A¦ý·L³n¦b MSDN ùØ»¡³o¬O¬°¤Fºû«ù¬Û®e©Ê¡A¤£±o¤w¤~¦³³o¨Çªº API¡A«Øijµ{¦¡³]p®v³Ì¦n§ï¥Î·sªº API¡ARegOpenKeyEx¡BRegQueryValueEx¡K¡K¡C¥t¥~³o¨Ç API ¬O¥]§t¦b ADVAPI32.DLL ùØ¡A¦]¦¹¦b²Õ¦X»y¨¥ì©l½XùØn¦³©³¤U¨â¦æ¡G
INCLUDE ADVAPI32.INC INCLUDELIB ADVAPI32.LIB
Àò¨ú¬YÓ¾÷½X¥N½X¡A¨ä쫬¬O¡G
LONG WINAPI RegOpenKeyEx( __in HKEY hKey, __in_opt LPCTSTR lpSubKey, __reserved DWORD ulOptions, __in REGSAM samDesired, __out PHKEY phkResult );
²Ä¤@ӰѼơAhKey¡A¬O«ü¤w¶}±Òªº¾÷½X¥N½X©Î¤l¾÷½X¥N½X¡AhKey ¤§È¥i¥H¥Ñ¤U±´XºØ±¡§ÎÀò±o¡G
²Ä¤GӰѼơAlpSubKey¡A¬O¤@¦r¦ê¦ì§}¡A¦¹¦r¦ê¬On¨ú±o¤l¾÷½Xªºªí¥Üªk¡A¨Ã¥B¤£°Ï¤À¤j¤p¼g¡C¨Ò¦p¡uHKEY_CURRENT_CONFIG\Software\Fonts¡v©M¡uHKEY_CURRENT_CONFIG\SOFTWARE\FONTS¡v¬O¤@¼Ëªº·N«ä¡C¤p¤ì°¸¦AÁ|¤@¨Ò¡A»¡©ú¦p³]©w¦r¦ê¡A¨Ò¦pn¨ú±o¡uHKEY_CURRENT_CONFIG\Software\Fonts¡v¤¤¡uFonts¡vªº¤l¾÷½X¥N½X¡A¥i¥H¦³¨âºØ¤èªk¡G
¡@①hKey ¬° HKEY_CURRENT_CONFIG¡AlpSubKey ¬°¡uSoftware\Fonts¡v¦r¦ê¤§¦ì§}¡F©ÎªÌ¬O
¡@②hKey ¬°¡uHKEY_CURRENT_CONFIG\Software¡v©Ò¥Nªíªº¾÷½X¥N½X¡A¨Ã¤w¸g¶}±Ò¤F¡A¦Ó lpSubKey ¬°¡uFonts¡v¦r¦ê¦ì§}¡C
¦pªG lpSubKey ¬° 0¡A©Î«ü¦VªÅ¦r¦ê¡A¨º»ò RegOpenKeyEx ·|¶Ç¦^»P hKey ¬Û¦Pªº¾÷½X¥N½X¡A³o¼Ë¤]ºâ©I¥s¦¨¥\¡C²Ä¤TӰѼơAulOptions¡A³Q«O¯d¡A¥²¶·¬O 0¡C²Ä¥|ӰѼơAsamDesired¡Aªí¥Ü¦p¦ó³B²z¦¹¾÷½X¡A¥i¥H¬O¤U±ªº¼ÆÈ¡G
samDesired | ¼ÆÈ | »¡©ú |
KEY_QUERY_VALUE | 1 | ¥i¥HÀò¨ú¾÷½X¸ê®Æ |
KEY_SET_VALUE | 2 | ¥i¥H³]©w¾÷½Xªº¸ê®Æ |
KEY_CREATE_SUB_KEY | 4 | ¥i¥H«Ø¥ß¤l¾÷½X |
KEY_ENUMERATE_SUB_KEYS | 8 | ¥i¥H¦C¥X¤l¾÷½X |
KEY_NOTIFY | 10H | ¤¹³\Åܧó³qª¾ |
KEY_CREATE_LINK | 20H | «O¯dµ¹¨t²Î¨Ï¥Î |
KEY_WOW64_64KEY | 100H | ¨Ï 32 ¦ì¤¸©Î 64 ¦ì¤¸ªºÀ³¥Îµ{¦¡¡A¯à«Ø¥ß©Î¶}±Ò 64 ¦ì¤¸ªº¾÷½X ( ¸Ô²Ó±¡§Î¡A½Ð°Ñ¦Òµù¤G ) |
KEY_WOW64_32KEY | 200H | ¨Ï 32 ¦ì¤¸©Î 64 ¦ì¤¸ªºÀ³¥Îµ{¦¡¡A¯à«Ø¥ß©Î¶}±Ò 32 ¦ì¤¸ªº¾÷½X ( ¸Ô²Ó±¡§Î¡A½Ð°Ñ¦Òµù¤G ) |
KEY_WRITE | 20006H | µ²¦X STANDARD_RIGHTS_WRITE¡BKEY_SET_VALUE ©M KEY_CREATE_SUB_KEY ¤TÓºX¼Ð |
KEY_READ | 20019H | µ²¦X STANDARD_RIGHTS_READ¡BKEY_QUERY_VALUE¡BKEY_ENUMERATE_SUB_KEYS ©M KEY_NOTIFY ¥|ÓºX¼Ð |
KEY_EXECUTE | 20019H | »P KEY_READ ¬Û¦P |
KEY_ALL_ACCESS | 0F003FH | µ²¦X¤F STANDARD_RIGHTS_REQUIRED¡BKEY_QUERY_VALUE¡BKEY_SET_VALUE¡BKEY_CREATE_SUB_KEY¡BKEY_ENUMERATE_SUB_KEYS¡BKEY_NOTIFY »P KEY_CREATE_LINK ¤CÓºX¼Ð |
³Ì«á¤@ӰѼơAphkResult¡A«ü¦V¤@ÓÅܼƦì§}¡A¦¹ÅܼƬO¥Î¨Ó¶Ç¦^n¶}±Òªº¤l¾÷½X¥N½X¡C¦pªG©I¥s RegOpenKeyEx ¦¨¥\¡Aªð¦^Ȭ° ERROR_SUCCESS¡A¦Ó ERROR_SUCCESS ¨ä¹ê¬O 0¡A³o¤@ÂI©M¤j³¡¤Àªº API ¤£¦P¡F¦pªG©I¥s¥¢±Ñ¡Aªð¦^¿ù»~½X ( ¿ù»~½X¤£¬° 0 )¡C¦³Ãöµn¿ý¸ê®Æ®wªº API¡A³£¬O¦p¦¹¡A¦pªG¦¨¥\¡A¶Ç¦^ ERROR_SUCCESS¡F¦pªG¥¢±Ñ¡Aªð¦^¿ù»~È¡C
nÀò±o©Î¬d¸ß¬YÓ¤l¾÷½X¤¤ªº¬Y¶µ¼Æȸê®Æ¤Î¸ê®ÆÃþ«¬¡A´N±o©I¥s RegQueryValueEx¡A¨ä쫬¬°
LONG WINAPI RegQueryValueEx( __in HKEY hKey, __in_opt LPCTSTR lpValueName, __reserved LPDWORD lpReserved, __out_opt LPDWORD lpType, __out_opt LPBYTE lpData, __inout_opt LPDWORD lpcbData );
²Ä¤@ӰѼƬO hKey¡A´N¬O«ün¬d¸ßªº¤l¾÷½X¥N½X¡A¥¦¥²¶·¬O¸g¥Ñ KEY_QUERY_VALUE ©I¥s RegOpenKeyEx ©Ò¶}±Òªº¤l¾÷½X¡A¤]¥i¥H¬O HKEY_CLASSES_ROOT¡BHKEY_CURRENT_USER¡BHKEY_LOCAL_MACHINE¡BHKEY_USERS¡BHKEY_PERFORMANCE_DATA¡BHKEY_CURRENT_CONFIG µ¥¡C²Ä¤GӰѼơAlpValueName¡A¬O¤@¦r¦êªº¦ì§}¡A¦¹¦r¦ê¬°²Ä¤@ӰѼơAhKey¡A¤¤ªº¬Y¤@Ó¼ÆȦWºÙ¡A¦pªG lpValueName ¬° 0 ©Î«ü¦VªÅ¦r¦ê¡A¨º»ò RegQueryValueEx ´N·|¨ú±o¤l¾÷½X¡AhKey¡A¹w³]ȼÆȪº¸ê®Æ¤Î¸ê®ÆÃþ«¬¡C¦pªG hKey ¤¤¨S¦³ lpValueName ©Ò«ü¦r¦êªº¼ÆȦWºÙ¡A¨º»ò·|ªð¦^ ERROR_FILE_NOT_FOUND¡C
²Ä¤TӰѼơAlpReserved¡A¥²¶·¬O 0¡A¬°¨t²Î©Ò«O¯d¡C²Ä¥|ӰѼơAlpType¡A¬O¬YÓÅܼƪº¦ì§}¡ARegQueryValueEx ·|§â¨ú±oªº¼ÆȤ§¸ê®ÆÃþ«¬¦s¤J¦¹ÅܼÆùØ¡C¦pªG±zı±o¤£¶·Àò±o¸ê®ÆÃþ«¬¡A¥i¥H§â lpType ³]¬° 0¡C²Ä¤Ó°Ñ¼Æ¡AlpData¡A¤]¬O¬Y¶ô°O¾ÐÅ餧¦ì§}¡ARegQueryValueEx ·|§â¨ú±oªº¼ÆȤ§¸ê®Æ¦s¤J¦¹°O¾ÐÅéùØ¡A¦¹°O¾ÐÅéªø«×¥Ñ lpcbData ¨M©w¡C¦pªG±zı±o¤£¶·Àò±o¸ê®Æ¡A¥i¥H§â lpData ³]¬° 0¡C
³Ì«á¤@ӰѼơAlpcbData¡A¬O¤@ÓÅܼƤ§¦ì§}¡A¦¹ÅܼƥΨӳ]©w lpData ©Ò«ü°O¾ÐÅ馳¦h¤j¡A¥H¦ì¤¸²Õ¬°³æ¦ì¡C¦b©I¥s RegQueryValueEx ¦¨¥\«á¡A¨t²Î·|§â¹ê»ÚŪ¨ú¨ìªº¸ê®Æªø«×¦s¤J¦¹ÅܼÆùØ¡C¦pªG lpcbData ©Ò«üÅܼÆùتº¼ÆȤӤp¡A¦Ó¨Ï¸Ó°O¾ÐÅ餣¨¬¥H®e¯Ç©Ò¦³¸ê®Æ¡A³o®ÉÔ RegQueryValueEx ·|ªð¦^ ERROR_MORE_DATA¡A¨Ã§âÀ³¦³ªº¤j¤p¦s¤J lpcbData ©Ò«üÅܼÆùØ¡A¦¹¨è lpData ©Ò«üªº°O¾ÐÅ餺®e¬°©U§£¸ê®Æ¡C¦pªG©ÒÀò¨úªº¸ê®ÆÃþ«¬¬° REG_SZ¡BREG_MULTI_SZ ©Î REG_EXPAND_SZ¡A¨º»ò lpcbData ©Ò«üÅܼƫüªº¬O¥]§t 0 ªº¼Æȸê®Æªø«×¡C¦pªG lpData ¬° 0¡A¨º»ò lpcbData ´N¨S¦³·N¸q¤F¡A©Ò¥H¤]À³¸Ó³]¬° 0¡F¦ý¬O¦¹¨è lpcbData ¤]¥i¥H¤£³]¬° 0¡A¦Ó¬O³]¬°¯u¥¿«ü¦V¬YÓÅܼƪº¦ì§}¡A³o®É¨t²Î·|§â¼ÆȪº¸ê®Æªø«×¶Ç¨ì¸ÓÅܼÆùØ¡A¤]·|§â¸ê®Æ§ÎºA¦s¤J lpData ©Ò«üªºÅܼÆùØ¡AµM«á¶Ç¦^ ERROR_SUCCESS¡Cµ{¦¡³]p®v¥i¥H§Q¥Î¦¹¶µ¯S©Ê¡A©I¥s¨â¦¸ RegQueryValueEx¡A²Ä¤@¦¸Åý lpData ¬° 0¡AlpcbData «ü¦V¬YÓÅܼƪº¦ì§}¡A³o¼Ë´N¯à±o¨ì¼Æȸê®Æªø«×¡AµM«á¦A°t¸m¾A·í¤j¤pªº°O¾ÐÅé°Ï¶ô¡F²Ä¤G¦¸¤~Åý lpData ¯uªº«ü¦V¦¹°O¾ÐÅé°Ï¶ô¡AlpcbData ¤´«ü¦V¨ºÓÅܼơA³o¼Ë´N¥i¥H¤£¥²½M²qn°t¸m¦h¤Ö°O¾ÐÅé¡A¦Ó¯àÀò±o¼ÆȪº¸ê®Æ¡C
RegQueryValueEx ªºªð¦^È¡A¥i¯à¦³¥H¤U´XºØ±¡§Î¡G
¦pªG·QÀò¨ú¬YÓ¾÷½X¤º¡A¦³þ¨Ç¤l¾÷½X®É¡AÀ³¶i¤J¤@Ó°j°é¡A«½Æ©I¥s RegEnumKeyEx¡A´N¯à§â³o¨Ç¤l¾÷½X¤@¤@¦CÁ|¥X¨Ó¡CRegEnumKeyEx ªºì«¬¬O¡G
LONG WINAPI RegEnumKeyEx( __in HKEY hKey, __in DWORD dwIndex, __out LPTSTR lpName, __inout LPDWORD lpcName, __reserved LPDWORD lpReserved, __inout LPTSTR lpClass, __inout_opt LPDWORD lpcClass, __out_opt PFILETIME lpftLastWriteTime );
²Ä¤@ӰѼơAhKey¡A¬O¾÷½X¥N½X¡C¦Óµ{¦¡·QnÀò¨ú³oÓ¾÷½X¤U¤@¼hªº©Ò¦³¤l¾÷½X¸ê®Æ¡AhKey ¥²¶·¨ã¦³ KEY_ENUMERATE_SUB_KEYS ¦s¨úÅvªº¾÷½X¥N½X¡A¥i¥H¸g¥Ñ KEY_ENUMERATE_SUB_KEYS ¬°°Ñ¼Æ©I¥s RegCreateKeyEx¡BRegCreateKeyTransacted¡BRegOpenKeyEx¡BRegOpenKeyTransacted µ¥ API¡A³o¨Ç API ªº¶Ç¦^È´N¬O¨ã¦³ KEY_ENUMERATE_SUB_KEYS ¦s¨úÅvªº¾÷½X¥N½X¡ChKey ¤]¥i¥H¬O HKEY_CLASSES_ROOT¡BHKEY_CURRENT_CONFIG¡BHKEY_CURRENT_USER¡BHKEY_LOCAL_MACHINE¡BHKEY_PERFORMANCE_DATA¡BHKEY_USERS ¹w³]ªº¾÷½X¡C²Ä¤GӰѼơAdwIndex¡A¬OnÀò±oªº¤l¾÷½X½s¸¹¡A·íµ{¦¡²Ä¤@¦¸©I¥s RegEnumKeyEx ®É¡AdwIndex À³³]¬° 0¡A´N¯à±o¨ì²Ä¹sÓ¤l¾÷½Xªº¸ê®Æ¡AµM«á¶i¤J°j°é¡A«½Æ©I¥s RegEnumKeyEx¡A¦ý¨C¦¸©I¥s®É§â dwIndex ¥[¤@¡A´N¯àÀò±o¤U¤@Ó¤l¾÷½Xªº¸ê®Æ¡A¦p¦¹¨C¦¸¨Ï dwIndex ¥[¤@¡Aª½¨ìªð¦^Ȥ£¬° 0 ¦Ó¬O ERROR_NO_MORE_ITEMS ¬°¤î¡A´N¯à¦CÁ|¥X hKey ¤º©Ò¦³¤l¾÷½Xªº¸ê®Æ¡C·íµMµ{¦¡¤]¯à¥ý©I¥s RegQueryInfoKey¡A¨ú±o¦³´XÓ¤l¾÷½X¡AµM«á²Ä¤@¦¸©I¥s RegEnumKeyEx ®É¡A§â dwIndex ³]¬°³Ì«á¤@Ó¤l¾÷½X½s¸¹¡A¦Ó¶i¤J°j°é®É¡A¨C¦¸¨Ï dwIndex ´î¤@ª½¨ìÅܬ° 0 ¬°¤î¡C
²Ä¤TӰѼơAlpName ¬O¤@¶ô°O¾ÐÅé¦ì§}¡A¥Î¨Ó¦s©ñ¤l¾÷½Xªº¦WºÙ¡C¦pªG©I¥s¦¨¥\¡A¨t²Î·|§â¤l¾÷½X¦WºÙ©ñ¤J¦¹°O¾ÐÅé°Ï·\¤º¡A¦ý¤£¥]§t¤W¤@¼hªº¾÷½X¦WºÙ¡F¦pªG©I¥s¥¢±Ñ¡A«h¤£Åܧ󦹰O¾ÐÅé°Ï¶ô¤º®e¡C²Ä¥|ӰѼơAlpcName¡A¬O¤@ÓÅܼƪº¦ì§}¡A¥Î¨Ó«ü©w lpName ªº¤j¤p¡A¥H¦r¤¸¬°³æ¦ì¡C¦pªG©I¥s¦¨¥\¡A¨t²Î·|§â¤l¾÷½X¦WºÙªºªø«×¦s¤J³oÓÅܼÆùØ¡C²Ä¤Ó°Ñ¼Æ¡AlpReserved¡A¬O«O¯d°Ñ¼Æ¡AÀ³³]¬° 0¡C
²Ä¤»Ó°Ñ¼Æ¡AlpClass¡A¬O¤@¶ô°O¾ÐÅ骺¦ì§}¡A¨t²Î·|§â¤l¾÷½XªºÃþ§O¦s¤J¦¹¦ì§}¤¤¡C²Ä¤CӰѼơAlpcClass¡A¬O¤@ÅܼƦì§}¡A¨t²Î·|§â¤l¾÷½XÃþ§Oªø«×¦s¤J¦¹ÅܼÆùØ¡A¥H¦r¤¸¬°³æ¦ì¡C²Ä¤KÓÅܼơAlpftLastWriteTime¡A¬O FILETIME µ²ºcÅ骺¦ì§}¡A¨t²Î·|§â¤l¾÷½X³Ì«á¼g¤Jªº®É¶¡¡A¦s¤J¦¹µ²ºcÅ餺¡C
¦pªG¤£ª¾¬YÓ¾÷½X¤º¦³þ¨Ç¼ÆȮɡA¥i¥H©I¥s RegEnumValue §â³o¨Ç¼ÆȤ@¤@¦CÁ|¥X¨Ó¡CRegEnumValue ªºì«¬¬O¡G
LONG WINAPI RegEnumValue( __in HKEY hKey, __in DWORD dwIndex, __out LPTSTR lpValueName, __inout LPDWORD lpcchValueName, __reserved LPDWORD lpReserved, __out_opt LPDWORD lpType, __out_opt LPBYTE lpData, __inout_opt LPDWORD lpcbData );
²Ä¤@ӰѼơAhKey¡A´N¬On¦CÁ|¥X¨Óªº¾÷½X¥N½X¡A¥¦¥²¶·¬O¸g¥Ñ KEY_QUERY_VALUE ©I¥s RegOpenKeyEx¡BRegCreateKeyEx ©Òªð¦^ªº¤l¾÷½X¡A¤]¥i¥H¬O HKEY_CLASSES_ROOT¡BHKEY_CURRENT_USER¡BHKEY_LOCAL_MACHINE¡BHKEY_USERS¡BHKEY_PERFORMANCE_DATA¡BHKEY_CURRENT_CONFIG µ¥¡C²Ä¤GӰѼơAdwIndex¡A¬OnÀò±oªº¼ÆȽs¸¹¡A·íµ{¦¡²Ä¤@¦¸©I¥s®É¡AdwIndex ¬° 0¡A¤U¤@¦¸©I¥s®É§â dwIndex ¥[¤@¡A´N¯àÀò±o¤U¤@Ó¼ÆÈ¡A¦p¦¹¨C¦¸¨Ï dwIndex ¼W¤@¡Aª½¨ìªð¦^Ȥ£¬° 0 ¬°¤î¡A´N¯à¦CÁ|¥X©Ò¦³ hKey ¤§¤ºªº¼ÆÈ¡C
²Ä¤TӰѼơAlpValueName¡A¬°¤@°O¾ÐÅé°Ï¶ôªº¦ì§}¡A¨t²Î·|§â¼ÆȦWºÙ¦s¤J¦¹°O¾ÐÅé°Ï¶ô¤º¡A³oÓ¦WºÙ·|¥H 0 ¬°µ²§À¡A¦¹°O¾ÐÅé°Ï¶ô¤]¥²¶·°÷¤j¡A¯à¦s¤J¥]§tµ²§Àªº 0 ¤Î¼ÆȦWºÙ¡C²Ä¥|ӰѼơAlpcchValueName¡A¬O¤@ÓÅܼƪº¦ì§}¡A³oÓÅܼƥΨӪí¥Ü¼ÆȦWºÙªºªø«×¡A¤£¥]§tµ²§Àªº 0¡A¥H¦r¤¸¬°³æ¦ì¡C²Ä¤Ó°Ñ¼Æ¡AlpReserved¡A¬°¨t²Î«O¯d¡A¶·³]¬° 0¡C
²Ä¤»Ó°Ñ¼Æ¡AlpType¡A¬°¤@Åܼƪº¦ì§}¡A¨t²Î·|§â¼ÆȪº¸ê®ÆÃþ«¬¦s©ñ¦b¦¹ÅܼÆùØ¡C¦pªG±z¤£¥Î¨ì¸ê®ÆÃþ«¬¡A¥i¥H§â lpType ³]¬° 0¡A¨º»ò¨t²Î´N¤£·|¶Ç¦^¸ê®ÆÃþ«¬¡C²Ä¤CӰѼơAlpData¡A¬O¤@°O¾ÐÅé¦ì§}¡A¨t²Î¶Ç¦^ªº¸ê®Æ´N¦s©ñ¦b³o¨à¡C¦pªG±z¤£¥Î¨ì¸ê®Æ¡A¥i¥H§â lpData ³]¬° 0¡C³Ì«á¤@ӰѼơAlpcbData¡A¬O¤@ÓÅܼƪº¦ì§}¡A¨t²Î·|§â¸ê®Æªø«×¦s¤J¦¹ÅܼÆùØ¡A¸ê®Æªø«×ªº³æ¦ì¬O¦ì¤¸²Õ¡C
RegQueryInfoKey ¯àÀò±o¬YÓ¾÷½X¤º¤¤§t¦³´XÓ¤l¾÷½X¡B´XÓ¼ÆÈ¡A¨Ã¥B¤]¯àÀò¨ú³o¨Ç¤l¾÷½X¡B¼ÆȤ¤¡A¦WºÙ³Ìªøªº¦³¦h¤Ö¦ì¤¸²Õ¡C¦]¦¹ RegQueryInfoKey ³Ì«nªº¥Î³~«K¬O¦b©I¥s RegQueryValueEx¡BRegEnumValue µ¥ API ®É¡A¨Æ¥ýÀò±on³]©w¦h¤Ö°O¾ÐÅé¡A¥H¨Ñ¦s©ñ©ÒÀò±oªº¸ê®Æ¤§¥Î¡CRegQueryInfoKey ªºì«¬¬O¡G
LONG WINAPI RegQueryInfoKey( __in HKEY hKey, __out LPTSTR lpClass, __inout_opt LPDWORD lpcClass, __reserved LPDWORD lpReserved, __out_opt LPDWORD lpcSubKeys, __out_opt LPDWORD lpcMaxSubKeyLen, __out_opt LPDWORD lpcMaxClassLen, __out_opt LPDWORD lpcValues, __out_opt LPDWORD lpcMaxValueNameLen, __out_opt LPDWORD lpcMaxValueLen, __out_opt LPDWORD lpcbSecurityDescriptor, __out_opt PFILETIME lpftLastWriteTime );
²Ä¤@ӰѼơAhKey¡A¬O«ünÀò¨úþ¤@Ó¾÷½X¤ºªº¸ê®Æ¡A¥²¶·¬O¥H KEY_QUERY_VALUE ¦s¨úÅv¬°°Ñ¼Æ¡A©I¥s RegCreateKeyEx¡BRegCreateKeyTransacted¡BRegOpenKeyEx¡BRegOpenKeyTransacted µ¥ API ªºªð¦^È¡A¤]¥i¥H¬O HKEY_CLASSES_ROOT¡BHKEY_CURRENT_USER¡BHKEY_LOCAL_MACHINE¡BHKEY_USERS¡BHKEY_PERFORMANCE_DATA¡BHKEY_CURRENT_CONFIG µ¥¹w³]È¡C²Ä¤GӰѼơAlpClass¡A«ü¦V¤@°O¾ÐÅé¦ì§}¡A¦¹°O¾ÐÅé¥Î¨ÓÀò±oÃþ§O¦WºÙ¡A¶È¥Î©ó NT ¬°®Ö¤ßªº Windows ¨t²Î¡A¤]¥i³]¬° 0¡Aªí¥Ü¤£Àò¨úÃþ§O¦WºÙ¡C²Ä¤TӰѼơAlpcClass¡A¬°¤@ÅܼƦì§}¡A¦¹ÅܼƥΨӶǦ^Ãþ§O¦WºÙªºªø«×¡C²Ä¥|ӰѼơAlpReserved¡A¬°«O¯dªº°Ñ¼Æ¡A¥²¶·³]¬° 0¡C
²Ä¤Ó°Ñ¼Æ¡AlpcSubKeys¡A¬°¤@ÅܼƦì§}¡A¦¹ÅܼƥΨӶǦ^ hKey ¤¤©Ò§tªº¤l¾÷½XӼơClpcSubKeys ¥i¥H¬° 0¡Aªí¥Ü¤£»ÝnÀò±o¤l¾÷½XӼơC²Ä¤»Ó°Ñ¼Æ¡AlpcMaxSubKeyLen¡A¬°¤@ÅܼƦì§}¡A¦¹ÅܼƥΨӶǦ^ hKey ¤¤©Ò§tªº¤l¾÷½X¦WºÙ³Ìªøªº¦³¦h¤ÖÓ¦r¤¸¡A¦Ó¦¹¶Ç¦^ªº³Ìªø¤l¾÷½X¦WºÙ¨Ã¤£¥]§t NULL ¦r¤¸¡A¦]¦¹¦p¥H¦ì¤¸²Õ¬°³æ¦ì¡A³Ìªø¦WºÙªº°O¾ÐÅé¤j¤pÀ³¬° [lpcMaxSubKeyLen]¡Ñ2+2¡ClpcMaxSubKeyLen ¤]¥i¥H³]¬° 0¡Aªí¥Ü¤£»ÝÀò±o³Ìªøªº¤l¾÷½X¡C²Ä¤CӰѼơAlpcMaxClassLen¡A¬°¤@ÅܼƦì§}¡A¥Î¨Ó¶Ç¦^ hKey ¤¤©Ò§tªºÃþ§O¦WºÙ³Ìªøªº¦³¦h¤ÖÓ¦r¤¸¡A¦P¼Ë¤£¥]§t NULL¡A¦pªG¤£»Ýn³ÌªøªºÃþ§O¦WºÙ¡AlpcMaxClassLen ¤]¥i¥H³]¬° 0¡C²Ä¤KӰѼơAlpcValues¡A¬°¤@Åܼƪº¦ì§}¡A¦¹ÅܼƥΨӶǦ^ hKey ¤¤©Ò§tªº¼ÆÈӼơA¦pªG¤£»Ýn¤]¥i¥H³]¬° 0¡C
²Ä¤EӰѼơAlpcMaxValueNameLen¡A¬°¤@ÅܼƦì§}¡A¦¹ÅܼƥΨӶǦ^¼ÆȦWºÙ³Ìªøªº¦³¦h¤ÖÓ¦r¤¸¡A¦P¼Ë¤£¥]§t NULL¡A¦pªG¤£»Ýn³Ìªøªº¼ÆȦWºÙ¡AlpcMaxValueNameLen ¤]¥i¥H³]¬° 0¡C²Ä¤QӰѼơAlpcMaxValueLen¡A¬°¤@ÅܼƦì§}¡A¦¹ÅܼƥΨӶǦ^³o¨Ç¼ÆȪº¸ê®Æ¤¤¡A¸ê®Æªø«×³Ì¤jªº¦³¦h¤ÖӦ줸²Õ¡A¦pªG¤£»Ýn³Ìªø¤]¥i¥H³]¬° 0¡C²Ä¤Q¤@ӰѼơAlpcbSecurityDescriptor¡A¬°¤@ÅܼƦì§}¡A¦¹ÅܼƥΨӶǦ^¾÷½Xªº security descriptor¡A¶È¥Î©ó NT ¨t²Î¡A¦p¤£»Ýn¤]¥i¥H³]¬° 0¡C³Ì«á¤@ӰѼơAlpftLastWriteTime¡A¬°¤@ FILETIME µ²ºcÅé¦ì§}¡A³oÓ FILETIME µ²ºcÅé°O¿ý³Ì«á¤@¦¸¼g¤J¦¹¾÷½Xªº³Ì«á®É¶¡¡A¶È¥Î©ó NT ¨t²Î¡A¦p¤£»Ýn¤]¥i¥H³]¬° 0¡C
¦pªG©I¥s RegQueryInfoKey ¦¨¥\¡A¶Ç¦^ ERROR_SUCCESS¡C
RegCreateKeyEx ·|¦bµn¿ý¸ê®Æ®wùثإߤ@Ó¾÷½X¡A°²¦p¦¹¾÷½X¤w¸g¦s¦b¤F¡A¨º»ò RegCreateKeyEx ´N·|¶}±Ò¦¹¾÷½X¡C¤£ºÞ¦¹¾÷½X¦s¦b»P§_¡ARegCreateKeyEx ³£·|¶}±Ò¦¹¾÷½X¡A¦]¦¹¦pªG«á¨Ó¥Î¤£µÛ¡A³£À³¸ÓÃö³¬¡C©³¤U¬O RegCreateKeyEx ªºì«¬¡G
LONG WINAPI RegCreateKeyEx( __in HKEY hKey, __in LPCTSTR lpSubKey, __reserved DWORD Reserved, __in_opt LPTSTR lpClass, __in DWORD dwOptions, __in REGSAM samDesired, __in_opt LPSECURITY_ATTRIBUTES lpSecurityAttributes, __out PHKEY phkResult, __out_opt LPDWORD lpdwDisposition );
²Ä¤@ӰѼơAhKey¡A¬O¥H KEY_CREATE_SUB_KEY ¬°°Ñ¼Æ©I¥s RegCreateKeyEx ©Î RegOpenKeyEx ©Òªð¦^ªº¾÷½X¥N½X¡A¤]¥i¥H¬O¨t²Î¹w³]ªº¾÷½X¡A¨Ò¦p HKEY_CLASSES_ROOT¡BHKEY_CURRENT_CONFIG¡BHKEY_CURRENT_USER¡BHKEY_LOCAL_MACHINE¡BHKEY_USERS¡C²Ä¤GӰѼơAlpSubKey¡A¬°¤@µ²§À¬° 0 ªº¦r¦ê¦ì§}¡A¦Ó¦¹¦r¦ê³Ì¦h¥i¹F 32 ¼h¤l¾÷½Xªº²Õ¦X¡A¦r¦êªº²Ä¤@Ó¤l¾÷½X·|«Ø¥ß¦b hKey ¤§¤U¤@¼h¡C¨Ò¦p¡An¦b¡uHKEY_CLASSES_ROOT¡v©³¤U«Ø¥ß¤@³s¦êªº¤l¾÷½X¡A¡uasmfile\shell\edit\command¡v¡A¥i¥H¨Ï hKey ¬° HKEY_CLASSES_ROOT¡AlpSubKey ¬°«ü¦V¡uasmfile\shell\edit\command¡v¦r¦êªº¦ì§}¡A³o¼Ë¡A§Y¨Ïì¨Óªº HKEY_CLASSES_ROOT ¨S¦³ asmfile ¤l¾÷½X¡A¤]¯à«Ø¥ß°_¨Ó¥]§t±q asmfile ¨ì command ¥|Ó¤l¾÷½X¡C·íµM¡A¤]¥i¥H¤@¼h¤@¼h«Ø¥ß¡C²Ä¤TӰѼơAReserved¡A¬°¨t²Î©Ò«O¯d¡AÀ³³]¬° 0¡C
²Ä¥|ӰѼơAlpClass¡A¬°¤@¦ì§}¡A¸Ó¦ì§}¬°Ãþ§O¦WºÙªº¦r¦ê¦ì§}¡A¤]¥i¥H³]¬° 0¡Aªí¥Ü¤£¨Ï¥Î¯d«Ý¥H«á³]©w¡C²Ä¤Ó°Ñ¼Æ¡AdwOptions¡A¥i¥H¬O¤Uªí¤¤ªº¬Y¤@¶µ±`¼Æ¡G
dwOptions | ¼ÆÈ | »¡©ú |
REG_OPTION_NON_VOLATILE | 0 | ¦¹¬°¹w³]È¡Aªí¥Ü©Ò«Ø¥ßªº¾÷½X·|«O¦s°_¨Ó¡A§Y¨Ïµ{¦¡µ²§ô¡B©Î¨t²Î«·s¶}¾÷³£¯à¦s¦bµn¿ý¸ê®Æ®wùØ¡C |
REG_OPTION_VOLATILE | 1 | ªí¥Ü©Ò«Ø¥ßªº¾÷½X¶È¦s©ó°O¾ÐÅ餤¡A·í«·s¸ü¤Jµn¿ý¸ê®Æ®w®É¡A¨Ã¤£·|«O¯d¦¹¾÷½X¡A¤×¨ä¬O HKEY_LOCAL_MACHINE ©³¤Uªº¾÷½X±`µo¥Í¦¹ºØ±¡§Î¡C¦pªG©I¥s RegCreateKeyEx ®É¡A¸Ó¾÷½X¤w¸g¦s¦b¦Ó¨Ï¥ÎªÌ³]©w¦¹ºX¼Ð¡A«h¨t²Î·|©¿²¤¦¹ºX¼Ð¡C |
REG_OPTION_CREATE_LINK | 2 | «Ø¥ß symbolic link ªº¾÷½X¡C |
REG_OPTION_BACKUP_RESTORE | 4 | ¦pªG³]©w¦¹ºX¼Ð¡A¨º»ò RegCreateKeyEx ·|©¿²¤ samDesired °Ñ¼Æ¡A¨Ã¹Á¸Õ¥Î©Ò»ÝªºÅv¶}±Ò©Î«Ø¥ß¾÷½X¡A¥H³Æ¥÷©ÎÁÙì¡C |
·íµ{¦¡¶}±Ò©Î«Ø¥ß¬YÓ¾÷½X¡A¸g³B²z¦Ó¤£¦A¨Ï¥Î®É¡A¥²¶·Ãö³¬¸Ó¾÷½X¡A³o®ÉÔ´Nn©I¥s RegCloseKey¡A¨ä쫬¬°¡G
LONG WINAPI RegCloseKey( __in HKEY hKey );
³oÓ API ¥u¦³¤@ӰѼơA´N¬OnÃö³¬ªº¤l¾÷½X¡AhKey¡C
%WinDir% ¨ä¹ê¬O¥Nªí¡uWindows¡vªº©Ò¦b¥Ø¿ý¡C¨Ï¥ÎªÌ¦b¦w¸Ë Windows ®É¡A¥i¥H§ó§ï Windows ¤l¥Ø¿ýªº¦WºÙ¡A¤]¥i¥H§ï¸Ë¦b¨ä¥LºÏºÐ¾÷¤W¡A¬Æ¦Ü¨t²Î¥»¨´N¤£¥s¡uWINDOWS¡v( ¨Ò¦p Windows NT/2000 ¹w³]¬° C:\WINNT )¡A¬G¨t²Î±`¥H %WinDir% ªí¥Ü¡C³o¨ÇÅܼƺ٬°Àô¹ÒÅܼơA¥DnªºÅܼƥi°Ñ¦Ò¤Uªí¡A§ó¸Ô²Óªº¸ê®Æ¡A½Ð°Ñ¦Ò¡uDev::Coder ¦b¹q±è¸Ì¹J¨£ÂùML¡vºô¶ªº»¡©ú¡C
¨t²ÎÅÜ¼Æ | ¹w³]È | »¡¡@©ú |
%HomeDrive% | C: | ±Ò°Ê¨t²Îªº©Ò¦bºÏºÐ¾÷ |
%SystemRoot% | C:\WINDOWS | ±Ò°Êªº¨t²Î©Ò¦b¤l¥Ø¿ý¡A¬O¨t²Î¤º«ØÅÜ¼Æ ( built-in variable ) |
%WinDir% | C:\WINDOWS | ±Ò°Êªº¨t²Î©Ò¦b¤l¥Ø¿ý¡A©M %SystemRoot% ´X¥G¬Û¦P¡A¦ý¬°¤@¯ëÅÜ¼Æ ( regular variable )¡A¥B¤ñ %SystemRoot% ¦¥X²{¡C |
%UserProfile% | Win XP¡GC:\Documents and Settings\pinocchio Win 7¡GC:\Users\pinocchio | ·í«e¨Ï¥ÎªÌ¡Apinocchio¡A¸ê®ÆÅÜ¼Æ |
%temp% | Win XP¡GC:\Documents and Settings\pinocchio\Local Settings\Temp Win 7¡GC:\Users\pinocchio\AppData\Local\Temp |
·í«e¨Ï¥ÎªÌ¡Apinocchio¡Aªº¼È¦s°Ï |
%ProgramData% | C:\ProgramData ( ÁôÂåؿý ) | À³¥Îµ{¦¡¦s©ñ¸ê®Æªº¦a¤è¡A³o¬O Vista ¤§«á¤~¦³ªº¥Ø¿ý¡AXP ¹ïÀ³ªº¦ì¸m¬O¦b %ALLUSERPROFILE%¡C¦]¬° %ProgramFiles% ¹ïÅv±±ºÞ¸ûÄY®æ¡A¬°¤F¨¾¤îµ{¦¡³Q´c·N«§ï¡A´Nºâ¬OÀ³¥Îµ{¦¡¥»¨¤]¤£¯à¹ï¦w¸Ë¥Ø¿ý°µ¼g¤J¡A¤]¦]¦¹¤~·|±NÀ³¥Îµ{¦¡ªº¸ê®Æ©î¶}¨Ó¦s©ñ¡C |
%ProgramFiles% | C:\Program Files | À³¥Îµ{¦¡¦w¸Ëªº¦ì¸m¡C |
%ProgramFiles(x86)% | C:\Program Files (x86) | ³oÓÀô¹ÒÅܼƥu·|¥X²{¦b 64 ¦ì¤¸ªº¨t²Î¡A°µ¬°¦w¸Ë 32 ¦ì¤¸À³¥Îµ{¦¡ªº¦ì¸m¡C |
¿Ë·RªºÅªªÌ¡A±z¤]¥i¥H¶}±Ò¡u©R¥O´£¥Ü¦r¤¸¡v¡A¦b¸Ì±¿é¤J¡uecho Àô¹ÒÅܼơv¡A¦A«ö¤U¡uEnter¡vÁä¡A¤]¥i¥H±o¨ì¸ÓÀô¹ÒÅܼƤ§È¡C¦p¤U¹Ï¡G
64 ¦ì¤¸ªº Windows ¨t²Î¡A¤´§â³\¦h«nªº°ÊºA³sµ²µ{¦¡®w ( DLL ) ©ñ¦b¡u%SystemRoot%\SYSTEM32¡v¤l¥Ø¿ýùØ¡A·í 64 ¦ì¤¸ªºµ{¦¡©I¥s KERNEL32.DLL¡BUSER32.DLL µ¥°ÊºA³sµ²µ{¦¡®wùتº API ®É¡A¤´µM¬O¨ì¡u%SystemRoot%\SYSTEM32¡v¤l¥Ø¿ýùØ¥h´M§ä¡B¸ü¤J¡C³o»ò°µ¦]¬°¦^·¹¬Û®eªº½t¬G¡A¦]¬°³\¦hµ{¦¡±Ä¥Î¼g¦º¨Ï¥Î¸Ó¸ô®|ªº¤è¦¡¡A¤£±o¤w¡A¥u¦n±¾¦ÏÀY¡B½æª¯¦×¡C
¦b¡u.txt¡v¾÷½XùØ¡A©ÎªÌ»¡¦b¡u.°ÆÀɦW¡vªºùر¡AÁÙ¥i¯à·|¦³¦W¬°¡uPerceivedType¡vªº¼ÆÈ¡A¥¦ªº¸ê®ÆÃþ«¬³q±`¬O REG_SZ¡A»¡©ú³oÃþ°ÆÀɦW¬OÄÝ©óþ¤@¤jÃþ«¬ªºÀɮסA¥i¯àªº¼ÆȦp¤Uªí
PerceivedType | »¡©ú |
Folder | ¸ê®Æ§¨ |
Text | ¯Â¤å¦rÀÉ¡A¦p txt¡Bhtml¡Bc¡Bcpp¡Bdef µ¥µ¥ |
Image | ¹Ï¤ùÀÉ¡A¦p bmp¡Bjpg¡Bpng¡Btiff¡Bico µ¥µ¥ |
Audio | ÁnµÀÉ¡A¦p voc¡Bmp3¡Bmid¡Bwma µ¥µ¥ |
Video | ¼v¹³ÀÉ¡A¦p mkv¡Bmpg¡Bavi¡Bwmv µ¥µ¥ |
Compressed | À£ÁYÀÉ¡A¦p rar¡Bzip¡Btar¡B µ¥µ¥ |
Document | ¤å¥óÀÉ¡A¦p doc¡Bdocx¡Bxlsx¡Bpptx µ¥µ¥ |
System | ¨t²ÎÀÉ¡A¦p local¡Bchk¡Bvxd¡B386¡Bhxd µ¥µ¥ |
Application | |
Gamemedia | |
Contacts |
³oÓ¼ÆȬO§i¶DÂsÄý¾¹¦p¦ó³B²z±qºô¸ô±µ¦¬¨ÓªºÀɮסC¨Ò¦p¡u.gif¡v¾÷½X¤¤¦³¡uContent Type¡v¼ÆÈ¡A¦Ó¥B¨ä¸ê®Æ¬°¡uimage/gif¡v¡A·íÂsÄý¾¹ ( ¦p Internet Explorer¡BFirefox¡BGoogle Chrome ) ±µ¦¬¨ì±qºô»Úºô¸ô¶Ç¨Óªº gif Àɮ׮ɡAÂsÄý¾¹´N¤£·|¸ß°Ý§A¬O§_Àx¦s¡A¦Ó¬O§â¥¦Åã¥Ü¦b¿Ã¹õ¤W¡C¦Ü©ó¡uContent Type¡vªº¸ê®Æ¦³þ¨Ç¡A¥i¥H¬d¤j³°¡uOSC ªº¦b½u¤u¨ã¡vºô¶¡C