日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

讓VFP的程序在Windows啟動后自動運行

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

  一、編程原理

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

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

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

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

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

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

  lpSubKey: 欲修改主鍵的名稱

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

  LpData: 寫入主鍵的字符串

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

  二、程序代碼

  假如你已新建了一項目(項目的主入口程序為main.prg)并生成了VFP應用程序TEST.EXE,然后打開main.prg,往main.prg加入修改注冊鍵值的代碼即可。下面是用VFP修改注冊表的具體實例(一個完整的main.prg程序代碼):

 ?。efine HKEY—LOCAL—MACHINE -2147483646

 ?。赪indowsAPI編程中,HKEY—LOCAL—MACHINE 被預置為0x80000002,即十進制的-2147483646

  clear menu all

  set sysme off

  注冊API函數(shù)

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

  /newValue即為編譯成功后的EXE文件,再次編譯時,必須保證項目所生成的.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 ″修改注冊表失??!″

  endi

 調(diào)用表單

  do form wb.scx

  read event

  clea even

  quit

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

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

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多