乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      讓VFP的程序在Windows啟動(dòng)后自動(dòng)運(yùn)行

       悟靜 2009-06-21
      在編譯完VFP程序之后,可能你馬上會(huì)運(yùn)行VFP自帶的安裝向?qū)蚱渌脩魜戆l(fā)布你的應(yīng)用程序。但是,由于VFP自帶的發(fā)布向?qū)穷A(yù)先做好了的,在許多方面并不能如你愿。比如,利用VFP的安裝向?qū)?,你不可能將你的?yīng)用程序放入Windows啟動(dòng)組中讓VFP程序在Windows啟動(dòng)時(shí)自動(dòng)運(yùn)行。如果想實(shí)現(xiàn)程序自動(dòng)運(yùn)行,那該怎么辦呢?

        一、編程原理

        我們知道,系統(tǒng)在啟動(dòng)時(shí)自動(dòng)運(yùn)行哪些程序主要是取決于啟動(dòng)組內(nèi)容和系統(tǒng)注冊(cè)表的設(shè)定。修改過注冊(cè)表的朋友對(duì)
      HKEY—LOCAL—MACHINE\Software\Microsoft\windows\CurrentVersion\run下的內(nèi)容并不會(huì)感到陌生,該鍵值下的內(nèi)容決定了系統(tǒng)在啟動(dòng)時(shí)所要運(yùn)行的程序。因此,我們通過修改注冊(cè)表,就能夠隨心所欲地決定在Windows啟動(dòng)時(shí)所自動(dòng)運(yùn)行的程序。

        同樣,如果在VFP的程序設(shè)計(jì)中對(duì)系統(tǒng)的注冊(cè)表進(jìn)行修改,在HKEY—LOCAL—MACHINE\Software\Microsoft\windows\CurrentVersion\run下新添鍵值,讓VFP程序在Windows啟動(dòng)時(shí)自動(dòng)運(yùn)行是可實(shí)現(xiàn)的。但是利用VFP自身提供的命令是無法修改注冊(cè)表的,必須調(diào)用API函數(shù)

        在Windows的各種動(dòng)態(tài)鏈接庫(kù)中,我們能夠輕易地找到修改注冊(cè)表的相關(guān)函數(shù),如RegCreateKeyEx(新建鍵值)、 RegSetValue(設(shè)定鍵值)之類的。如果在VFP程序中使用RegSetValue函數(shù)來在RUN鍵值中加入你想自動(dòng)運(yùn)行的VFP應(yīng)用程序的名稱,那么Windows在啟動(dòng)時(shí)就能夠如你所愿。通過查看MSDN可知,RegSetValue的調(diào)用格式如下(用C語(yǔ)言表示):

        LONG RegSetValue(HKEY hKey, LPCTSTR lpSubKey,DWORD dwType, LPCTSTR lpData, DWORD cbData)

        其中各個(gè)參數(shù)的含義如下:

        hKey: 注冊(cè)表中的預(yù)置主鍵(該參數(shù)的類型為整數(shù)型)

        lpSubKey: 欲修改主鍵的名稱

        dwType: 修改后鍵值的類型(該函數(shù)只支持字符型)

        LpData: 寫入主鍵的字符串

        cbData: 寫入字符串的長(zhǎng)度如果操作成功,返回值為0。

        二、程序代碼

        假如你已新建了一項(xiàng)目(項(xiàng)目的主入口程序?yàn)閙ain.prg)并生成了VFP應(yīng)用程序TEST.EXE,然后打開main.prg,往main.prg加入修改注冊(cè)鍵值的代碼即可。下面是用VFP修改注冊(cè)表的具體實(shí)例(一個(gè)完整的main.prg程序代碼):

       ?。efine HKEY—LOCAL—MACHINE -2147483646

        *在WindowsAPI編程中,HKEY—LOCAL—MACHINE 被預(yù)置為0x80000002,即十進(jìn)制的-2147483646

        clear menu all

        set sysme off

        注冊(cè)API函數(shù)

        Declare Integer RegSetValue In Win32API integer nHkey,STRING cSubKey, integer dwType,string@ lpDatainteger,integer@ count

        /newValue即為編譯成功后的EXE文件,再次編譯時(shí),必須保證項(xiàng)目所生成的.exe文件名為newValue的值/

        newValue=″D:\database\TEST.exe″

        i=len(newValue)

        nResult=RegSetValue(HKEY—LOCAL—MACHINE,″Software\Microsoft\windows\CurrentVersion\run″,1,@newvalue,@i)

        if nResult#0

        wait wind ″修改注冊(cè)表失??!″

        endi

       調(diào)用表單

        do form wb.scx

        read event

        clea even

        quit

        運(yùn)行上述程序之后,打開注冊(cè)表,進(jìn)入HKEY—LOCAL—MACHINE\Software\Microsoft\windows\CurrentVersion\run,你會(huì)發(fā)現(xiàn)在該主鍵下新添了一項(xiàng)鍵值,其值正是程序?qū)懭氲膬?nèi)容“D:\database\TEST.exe”。

        該程序設(shè)計(jì)的關(guān)鍵是:在注冊(cè)表中的RUN下面寫入VFP應(yīng)用程序的名稱。所以,你應(yīng)事先知道編譯后VFP程序的名稱,否則,往注冊(cè)表中寫入了不正確的程序名,在Windows啟動(dòng)時(shí),會(huì)提示你找不到應(yīng)用程序。

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多