วิธีการอ่านแบบ REG_MULTI_SZ จากรีจิสทรี

ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ

ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:258528
บทความนี้ถูกเก็บถาวรแล้วเนื้อหาของบทความจึงถูกนำเสนอ "ตามลักษณะที่เป็น" และจะไม่มีการปรับปรุงข้อมูลอีก
สรุป
บทความนี้แสดงวิธีการอ่านค่า REG_MULTI_SZ จากรีจิสทรี
ข้อมูลเพิ่มเติม
หมายเหตุ:: บทความนี้จำเป็นต้องใช้ regedt32.exe ซึ่งมีอยู่ใน Microsoft Windows NT และ Microsoft Windows 2000 การเพิ่มคีย์การทดสอบและค่าเท่านั้น รวมรหัสทำงานบน Windows 9 X ด้วยค่า REG_MULTI_SZ ที่มีอยู่

สิ่งสำคัญ: บทความนี้ประกอบด้วยข้อมูลเกี่ยวกับการปรับเปลี่ยนรีจิสทรี ก่อนที่จะแก้ไขรีจิสตรี คุณต้องสำรองข้อมูลนี้ไว้ และต้องทราบวิธีเรียกข้อมูลรีจิสตรีกลับคืน กรณีที่มีปัญหาเกิดขึ้น สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีสำรอง คืนค่า และแก้ไขรีจิสทรี โปรดคลิกที่หมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::
256986คำอธิบายสำหรับ Microsoft Windows Registry

คำเตือน: ถ้าคุณใช้ Registry Editor ไม่ถูกต้อง คุณอาจทำให้เกิดปัญหาร้ายแรงซึ่งอาจทำให้คุณติดตั้งระบบปฏิบัติการของคุณ ไมโครซอฟท์ไม่สามารถรับประกันว่า คุณจะสามารถแก้ปัญหาที่เกิดขึ้นจากการใช้ Registry Editor ไม่ถูกต้อง โปรดใช้ Registry Editor โดยยอมรับความเสี่ยงที่อาจเกิดขึ้น

หมายเหตุ:: บทความนี้ใช้รีจิสทรีคีย์ที่ถูกสร้างขึ้นสำหรับการทดสอบเท่านั้น และควรถูกลบเมื่อคุณเสร็จสิ้น
  1. เริ่มการทำงานของโปรแกรม Registry Editor (Regedt32.exe)
  2. ค้นหาคีย์ต่อไปนี้ในรีจิสทรี:
       HKEY_LOCAL_MACHINE\Software					
  3. ในการแก้ไขเมนู คลิกเพิ่มคีย์แล้ว เพิ่มรีจิสทรีคีย์ต่อไปนี้:
       Key Name:   VfpRegTest					
  4. คลิกที่คีย์เพิ่มเข้าไปในขั้นตอนที่ 3 ในการแก้ไขเมนู คลิกเพิ่มค่าแล้ว เพิ่มค่าต่อไปนี้:
       Value Name: TestREG_MULTI_SZ   Data Type:  REG_MULTI_SZ   Value:      Line1               Line2               Line3               Line4      Be sure to press the Enter key after each line.					
  5. ออกจากโปรแกรม Registry Editor
  6. จาก FoxPro Visual สร้างโปรแกรม และป้อนรหัสต่อไปนี้:
    *Start of Code#DEFINE HKEY_LOCAL_MACHINE   -2147483646LOCAL nKey, cSubKey, cValue, nStrings, acValueRead, nLoopVarnKey = HKEY_LOCAL_MACHINEcSubKey = "Software\VfpRegTest"cValue = "TestREG_MULTI_SZ"nStrings = ReadREG_MULTI_SZ(nKey, cSubKey, cValue, @acValueRead)IF (nStrings > 0) THEN   =MESSAGEBOX("Function Successful.")   FOR nLoopVar = 1 TO nStrings      ? acValueRead(nLoopVar)   ENDFOR	ELSE   =MESSAGEBOX("Function Not Successful.")ENDIFFUNCTION ReadREG_MULTI_SZ* This function reads a REG_MULTI_SZ value from the registry. It will return* the number of Elements in acValueRead if successful and store the * strings in acValueRead. If not successful, it will return 0 and * acValueRead will contain 0 elements   PARAMETERS  nKey, cSubKey, cValue,  acValueRead   * nKey The root key to open. It can be any of the constants defined below   *  #DEFINE HKEY_CLASSES_ROOT           -2147483648   *  #DEFINE HKEY_CURRENT_USER           -2147483647   *  #DEFINE HKEY_LOCAL_MACHINE          -2147483646   *  #DEFINE HKEY_USERS                  -2147483645   * cSubKey The SubKey to open.   * cValue The value that is going to be read.   * acValueRead Array of strings read from the registry.   * Constants that are needed for Registry functions   #DEFINE REG_MULTI_SZ                 7   * WIN 32 API functions that are used   DECLARE Integer RegOpenKey IN Win32API ;      Integer nHKey, String @cSubKey, Integer @nResult   DECLARE Integer RegQueryValueEx IN Win32API ;      Integer nHKey, String lpszValueName, Integer dwReserved,;      Integer @lpdwType, String @lpbData, Integer @lpcbData   DECLARE Integer RegCloseKey IN Win32API Integer nHKey   * Local variables used   LOCAL nErrCode      && Error Code returned from Registry functions   LOCAL nKeyHandle    && Handle to Key that is opened in the Registry   LOCAL lpdwValueType && Type of Value that we are looking for   LOCAL lpbValue      && The data stored in the value   LOCAL lpcbValueSize && Size of the variable   LOCAL lpdwReserved  && Reserved Must be 0   LOCAL lNotDone      && Used to Exit Loop   LOCAL nOccurance    && The occurrence of CHR(0) in the string   LOCAL nPrevPos      && Previous element in Array    LOCAL nCurrPos      && Current element in Array being processed   LOCAL nElements     && Number of Elements in the Array      * Initialize the variables   nKeyHandle = 0   lpdwReserved = 0              lpdwValueType = REG_MULTI_SZ   lNotDone = .T.   nOccurance = 1   nPrevPos = 1   nElements = 0   nErrCode = RegOpenKey(nKey, cSubKey, @nKeyHandle)   * If the error code isn't 0, then the key doesn't exist or can't be opened.   IF (nErrCode # 0) THEN      RETURN 0   ENDIF   lpbValue = ""   lpcbValueSize = 1    * Get the size of the data in the value   nErrCode=RegQueryValueEx(nKeyHandle, cValue, lpdwReserved, @lpdwValueType, @lpbValue, @lpcbValueSize)   * Make the buffer big enough   lpbValue = SPACE(lpcbValueSize)      nErrCode=RegQueryValueEx(nKeyHandle, cValue, lpdwReserved, @lpdwValueType, @lpbValue, @lpcbValueSize)      =RegCloseKey(nKeyHandle)   IF (nErrCode # 0) THEN      RETURN 0   ENDIF   * This loop fills an array with the strings stored in the registry   DO WHILE lNotDone      nCurrPos = AT(CHR(0), lpbValue, nOccurance)  && CHR(0) is used to separate lines in the registry      IF ((nCurrPos > 0) AND (nCurrPos < lpcbValueSize)) THEN         nElements = nElements + 1         DIMENSION acValueRead(nElements)         acValueRead(nElements) = SUBSTR(lpbValue, nPrevPos, nCurrPos - nPrevPos)         nPrevPos = nCurrPos + 1         nOccurance = nOccurance + 1      ELSE         lNotDone = .F.      ENDIF   ENDDORETURN nElements* End of Code					
  7. เรียกใช้โปรแกรมที่สร้างขึ้นในขั้นตอนที่ 6 กล่องข้อความปรากฏในการพูด "ฟังก์ชันสำเร็จ" และค่าต่าง ๆ ที่ปรากฏอยู่บนเดสก์ท็อป
  8. คุณสามารถแทน nKey, cSubKey และ cValue ด้วยข้อมูลของคุณถูกอ่านจากรีจิสทรี
(c) Microsoft Corporation 2000 สิทธิ์ทั้งหมดที่สำรองไว้ contributions โดยทำเครื่องหมาย Barnard, Microsoft Corporation

ข้อมูลอ้างอิง

สำหรับข้อมูลเพิ่มเติมที่ได้รับค่าจากรีจิสทรี คลิกหมายเลขบทความด้านล่างนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
244675อย่างไรโฮสต์สคริปต์ ToUse Windows เพื่ออ่าน เขียน ลบรีจิสทรี

คำเตือน: บทความนี้ได้รับการแปลโดยอัตโนมัติ

คุณสมบัติ

รหัสบทความ: 258528 - การตรวจสอบครั้งสุดท้าย: 12/05/2015 19:24:47 - ฉบับแก้ไข: 2.0

Microsoft Visual FoxPro 3.0 Standard Edition, Microsoft Visual FoxPro 5.0 Standard Edition, Microsoft Visual FoxPro 6.0 Professional Edition

  • kbnosurvey kbarchive kbapi kbcodesnippet kbhowto kbmt KB258528 KbMtth
คำติชม