**dian s 1 hari sbelom tgl 17 Agustus 2005 **simpan coding berikut di dalam "regsample.prg" **cara pakainya di vfp window command : **set procedure to regsample.prg sesuai nama simpannya **dd=regitulooh(.t.) : .t. tuk tulis, .f. tuk baca **? dd **cara pakai ini tidak mengikat ini semata-mata hanya tuk kondisi sample ini **pahami konsep baca/tulis ke registry di bawah :) #define kontrol_error 0 #define HKEY_LOCAL_MACHINE -2147483646 #define HKEY_CURRENT_USER -2147483647 #define KEY_QUERY_VALUE 1 && 1 unt string PROCEDURE regitulooh LPARAMETERS aksi SET talk OFF CLEAR *-- sepindah sampun kesupen andeclarekan DLL, hukumnya wajib 'ain declare integer RegOpenKeyEx in Win32API ; integer nKey, string @cSubKey, integer nReserved,; integer nAccessMask, integer @nResult DECLARE Integer RegQueryValueEx IN Win32API ; Integer nHKey, String lpszValueName, Integer dwReserved,; Integer @lpdwType, String @lpbData, Integer @lpcbData declare integer RegCreateKey in Win32API ; integer nHKey, string @cSubKey, integer @nResult declare integer RegCloseKey in Win32API ; integer nHKey declare integer RegSetValueEx in Win32API ; integer hKey, string lpszValueName, integer dwReserved,; integer fdwType, string lpbData, integer cbData **-- local lcBuffer, lnBufferSize,lcRetVal, lnReserved, lnResult, lnError, ; lnType, lcKey, Dian, sDian, sDs, lcHasil, lcHas store 0 to lnReserved, lnResult, lnType Dian = iif(empty(aksi) or aksi = .f.,.f.,.t.) ** .f. tuk membaca reg, .t. tuk menulis ... ini sample aja anda bisa kembangkan dewe lcBuffer = space(128) lnBufferSize = len(lcBuffer) sDs = "NGGAK PERNAH ADA MATINYE"+CHR(0) sDian = len(sDs) lcHasil = "" if Dian **stl declare DLL di atas tuk nulis/baca ke registry (1st step) **pake RegCreateKey berfungsi tuk create key di registrynya (2nd step) lnError=RegCreateKey(HKEY_CURRENT_USER,"Software\Fox-id\{ jgn pernah mencintaiku :) }",@lnResult) if lnError = kontrol_error **pake RegSetValueEx berfungsi tuk mengisi/set value dari key yg telah di create (3rd step) =RegSetValueEx(lnResult,"MOTTO HIDUP",0,KEY_QUERY_VALUE,sDs,sDian) lcHasil="PENULISAN KE REGISTRY SUKSES" endif else **stl declare DLL di atas tuk nulis/baca ke registry (1st step) **pake RegOpenKeyEx berfungsi tuk cek apakah key yg akan di baca ada di registry (2nd step) **perhatikan saya memakai angka "-2147483647" ini sama dg 'HKEY_CURRENT_USER' lnError=RegOpenKeyEx(-2147483647, "Software\Fox-id\{ jgn pernah mencintaiku :) }", ; lnReserved, KEY_QUERY_VALUE, @lnResult) if lnError = kontrol_error lnType = 0 lcBuffer = SPACE(128) lnBufferSize= LEN(lcBuffer) **pake RegQueryValueEx berfungsi tuk membaca isi/value dari key yg diinginkan (3rd step) lnError = RegQueryValueEx(lnResult, "MOTTO HIDUP", lnReserved, ; @lnType, @lcBuffer, @lnBufferSize) IF lnError = kontrol_error AND lcBuffer <> CHR(0) lcHas = LEFT(lcBuffer, lnBufferSize - 1) lcHasil =lcHas + " ini hasil pembacaan registry" ENDIF endif endif **mengakhiri setiap penulisan/pembacaan ke registry (4th step) =RegCloseKey(lnResult) RETURN lcHasil