VFP ansökan till registret för att komma ihåg hur ofta du använder


Operativsystemet Windows registret lagras i systemets maskinvara information, program, information och användarinformation i en databas som föreskrivs tillämpning den bästa platsen för att spara inställningarna.I Windows operativsystem, när vi springer "Regedit.exe" filer från fönstret Registereditorn öppnas kan du se registret från vänster och höger delar: Det första skiktet kallas den vänstra sidan av registrets ändamålprimärnyckel, dubbelklicka på primärnyckeln i varje tangent kallas en förlängning av den sub-nyckel, fönstret till höger är den viktigaste av sub-nycklar, har varje tangent dess motsvarande sub-standardvärdena och använder olika viktiga namn att nyckelnvärde (standardvärdet som är döpt en tom sträng nycklar).

Läs och skriv i VFP data ansökan register kräver användning av WIN32API (dvs Windows 32 bitars Application Program Interface) funktioner för att fungera på samma sätt som med de andra VFP samtalet WIN32API funktionen måste du först använda FÖRKLARAR kommandot för varje funktion som skall betalas in (i) och formatet FÖRKLARAR [cFunctionType] functionName I Biblioteksnamn [AS AliasName];

[CParamType1 [@] ParamName1, cParamType2 [@] ParamName2, ...]

I vilka innebörden av parametrarna är: ① cFunctionType som returvärdet typ, men kort, INTEGER eller lång, Enkel, Dubbel, STRÄNG en, om funktionen har något returvärde, utelämna cFunctionType, ② functionName som kallas WIN32API funktionsnamn, observerafall, eller i VFP DLL bibliotek (Biblioteksnamn) mindre än sökfunktionen och fel, om funktionsnamnet med samma namn som en funktion av VFP kan AS klausul också ha en rättslig VFP funktion namn. ③ Biblioteksnamn ange en extern Windows.DLL namn, som att ta WIN32API, Gästforskarprogrammet i Kernel32.dll, Gdi32.dll, User32.dll, MPR.DLL och ADVAPI32.DLL söka functionName; ④ cParamType ange vilken typ av varje parameter kan vara INTEGER eller lång, SINGLE,DUBBEL, STRÄNG, en av de VFP att skicka parametrar till funktionen på två sätt: genom värde och namn (referens) överförs, fd endast till den rörliga (även konstant) värde till funktionen, så inne i funktionenkan inte ändra värdet av variabeln, den senare är den rörliga (inte konstant) adressen till den funktion, som kan ändras inom funktionen värdet av variabeln för funktionen måste ändra variabeln värdet inuti eller placeras i en variabelreturvärde av situationen.VFP framför variabeln namn som "@" som passerar parametrar genom hänvisning, utan "@" som passerar parametrar av värde.I detta exempel är parametrarna för programmet passerade genom hänvisning eller värde, kommandon och funktionsanrop från FÖRKLARAR uttalande, med en blick se.

Följande exempel på program som körs varje gång kommer det att vara i registerundernyckeln TimesForUse HKEY_CURRENT_USERSOFTWARELYTAPP namn värde plus 1 till och med köra 12 gånger hittills:

backup bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz data eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint nyheter: 10 Nyheter: 11 Nyheter: 12 Nyheter: 13 Nyheter: 14 Nyheter:15 Nyheter: 16 Nyheter: 17 Nyheter: 18 Nyheter: 2 Nyheter: 3 nyheter: 4 Nyheter: 5 nyheter: 6 nyheter: 7 nyheter: 8 nyheter: 9 outboundLinksMgr.sql frön sitemap.html svn uppgifter TMP xml2dict-2008,6-tjära.gz xml2dict-skrivskyddad den primära nyckeln och ett heltal (integer) värde motsvarar, nämligen:

# Define HKEY_CLASSES_ROOT bitset (0,31) & & -2147483648
# Define HKEY_CURRENT_USER bitset (0,31) 1 & & -2147483647
# Define HKEY_LOCAL_MACHINE bitset (0,31) 2 & & -2147483646
# Define HKEY_USER bitset (0,31) 3 & & -2147483645
# Define HKEY_CURRENT_CONFIG bitset (0,31) 5 & & -2147483643
# Define HKEY_DYN_DATA bitset (0,31) 6 & & -2147483642

backup bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz data eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint nyheter: 10 Nyheter: 11 Nyheter: 12 Nyheter: 13 Nyheter: 14 Nyheter:15 Nyheter: 16 Nyheter: 17 Nyheter: 18 Nyheter: 2 Nyheter: 3 nyheter: 4 Nyheter: 5 nyheter: 6 nyheter: 7 nyheter: 8 nyheter: 9 outboundLinksMgr.sql frön sitemap.html svn uppgifter TMP xml2dict-2008,6-tjära.gz xml2dict-skrivskyddade nyckeltal typer: 1 - sträng, 3 - binary, 4 - Integer

# Define REG_SZ 1
# Define REG_BINARY 3
# Define REG_DWORD 4

backup bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz data eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint nyheter: 10 Nyheter: 11 Nyheter: 12 Nyheter: 13 Nyheter: 14 Nyheter:15 Nyheter: 16 Nyheter: 17 Nyheter: 18 Nyheter: 2 Nyheter: 3 nyheter: 4 Nyheter: 5 nyheter: 6 nyheter: 7 nyheter: 8 nyheter: 9 outboundLinksMgr.sql frön sitemap.html svn uppgifter TMP xml2dict-2008,6-tjära.gz xml2dict-skrivskyddad när följande API-funktionen returnerar 0 var verksamheten framgångsrik.

FÖRKLARAR Integer RegOpenKey I Win32API;
Integer nHKey, String @ cSubKey, Heltal @ nResult

FÖRKLARAR Integer RegCreateKey I Win32API;
Integer nHKey, String @ cSubKey, Heltal @ nResult

FÖRKLARAR Integer RegSetValueEx I Win32API;
Integer HKEY, String lpszValueName, Heltal dwReserved,;
Integer fdwType, String lpbData, Heltal cbData

FÖRKLARAR Integer RegQueryValueEx I Win32API;
Integer nHKey, String lpszValueName, Heltal dwReserved,;
Integer @ lpdwType, sträng @ lpbData, Heltal @ lpcbData

backup bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz data eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint nyheter: 10 Nyheter: 11 Nyheter: 12 Nyheter: 13 Nyheter: 14 Nyheter:15 Nyheter: 16 Nyheter: 17 Nyheter: 18 Nyheter: 2 Nyheter: 3 nyheter: 4 Nyheter: 5 nyheter: 6 nyheter: 7 nyheter: 8 nyheter: 9 outboundLinksMgr.sql frön sitemap.html svn uppgifter TMP xml2dict-2008,6-tjära.gz xml2dict-läsa-bara deklarera Integer RegDeleteKey I Win32API;
backup bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz data eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint nyheter: 10 Nyheter: 11 Nyheter: 12 Nyheter: 13 Nyheter: 14 Nyheter:15 Nyheter: 16 Nyheter: 17 Nyheter: 18 Nyheter: 2 Nyheter: 3 nyheter: 4 Nyheter: 5 nyheter: 6 nyheter: 7 nyheter: 8 nyheter: 9 outboundLinksMgr.sql frön sitemap.html svn uppgifter TMP xml2dict-2008,6-tjära.gz xml2dict-skrivskyddad Integer nHKey, String @ cSubKey

backup bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz data eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint nyheter: 10 Nyheter: 11 Nyheter: 12 Nyheter: 13 Nyheter: 14 Nyheter:15 Nyheter: 16 Nyheter: 17 Nyheter: 18 Nyheter: 2 Nyheter: 3 nyheter: 4 Nyheter: 5 nyheter: 6 nyheter: 7 nyheter: 8 nyheter: 9 outboundLinksMgr.sql frön sitemap.html svn uppgifter TMP xml2dict-2008,6-tjära.gz xml2dict-läsa-bara deklarera Integer RegDeleteValue I Win32API;
backup bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz data eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint nyheter: 10 Nyheter: 11 Nyheter: 12 Nyheter: 13 Nyheter: 14 Nyheter:15 Nyheter: 16 Nyheter: 17 Nyheter: 18 Nyheter: 2 Nyheter: 3 nyheter: 4 Nyheter: 5 nyheter: 6 nyheter: 7 nyheter: 8 nyheter: 9 outboundLinksMgr.sql frön sitemap.html svn uppgifter TMP xml2dict-2008,6-tjära.gz xml2dict-skrivskyddad Integer nHKey, String cSubKey

backup bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz data eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint nyheter: 10 Nyheter: 11 Nyheter: 12 Nyheter: 13 Nyheter: 14 Nyheter:15 Nyheter: 16 Nyheter: 17 Nyheter: 18 Nyheter: 2 Nyheter: 3 nyheter: 4 Nyheter: 5 nyheter: 6 nyheter: 7 nyheter: 8 nyheter: 9 outboundLinksMgr.sql frön sitemap.html svn uppgifter TMP xml2dict-2008,6-tjära.gz xml2dict-läsa-bara deklarera Integer RegCloseKey I Win32API;
backup bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz data eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint nyheter: 10 Nyheter: 11 Nyheter: 12 Nyheter: 13 Nyheter: 14 Nyheter:15 Nyheter: 16 Nyheter: 17 Nyheter: 18 Nyheter: 2 Nyheter: 3 nyheter: 4 Nyheter: 5 nyheter: 6 nyheter: 7 nyheter: 8 nyheter: 9 outboundLinksMgr.sql frön sitemap.html svn uppgifter TMP xml2dict-2008,6-tjära.gz xml2dict-skrivskyddad Integer nHKey

csubkey =''Softwarelytapp''
nresult = 0
om regopenkey (HKEY_CURRENT_USER, @ csubkey, @ nresult) # 0
RegCreateKey (HKEY_CURRENT_USER, csubkey, @ nresult)
endif

backup bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz data eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint nyheter: 10 Nyheter: 11 Nyheter: 12 Nyheter: 13 Nyheter: 14 Nyheter:15 Nyheter: 16 Nyheter: 17 Nyheter: 18 Nyheter: 2 Nyheter: 3 nyheter: 4 Nyheter: 5 nyheter: 6 nyheter: 7 nyheter: 8 nyheter: 9 outboundLinksMgr.sql frön sitemap.html svn uppgifter TMP xml2dict-2008,6-tjära.gz xml2dict-skrivskyddad butik i nresult en punkt i sub-nyckel "HKEY_CURRENT_USERSoftwarelytapp" långa heltal

lpdwtype = 0
lpbdata = utrymme (256)
lpcbdata = len (lpbdata)
om RegQueryValueEx (nresult,''TimesForUse''0,, @ lpdwtype, @ lpbdata, @ lpcbdata) = 0
göra mål
fall lpdwtype = REG_SZ
lpbdata = vänster (lpbdata, lpcbdata-1)
Om VÄRDE (lpbdata) 12
lpbdata = alltrim (str (Val (lpbdata) +1))
! MessageBox (''tills programmet inte är registrerat kan bara använda 12 gånger''+ Chr (13) +'''' Du är +;
lpbdata +''-användningen av detta förfarande.'')
lpbdata = lpbdata + chr (0)
cbdata = len (lpbdata)
RegSetValueEx (nresult,''TimesForUse'', 0, REG_SZ, lpbdata, cbdata)
annat
MessageBox ("har programmet löpte ut!" + Chr (13) + "vänligen kontakta registreringen.")
endif
fall lpdwtype = REG_BINARY
MessageBox (''nyckeln som binära data.'')
fall lpdwtype = REG_DWORD
MessageBox (''Nyckeln till ett långt heltal data, använd NN = 0''+ Chr (13) +''för i = 1 till 4''+ Chr (13) +;
''NN NN = + Val (substr (lpbdata, i, 1) * 16 ^ (2 * i-2)''+ Chr (13) +;
''EndFor läsa detta värde.'')
annars
MessageBox (''okända data!'')
endcase
annat
lpbdata =''1''
MessageBox (''tills programmet inte är registrerat kan bara använda 12 gånger!''+ Chr (13) +''Du är den första''+ lpbdata +''användning av programmet.'')
lpbdata = lpbdata + chr (0)
RegSetValueEx (nresult,''TimesForUse'', 0, REG_SZ, lpbdata, 2)
endif

* Varning: när användaren inte är bekant med registret är bäst att inte ändra innehållet, annars kan innebära att systemet kraschar.Om användaren vill ändra i registret, rekommenderas att ändra säkerhetskopia av registret innan bäst.