分發(fā)VFP應(yīng)用時自動建立快捷方式

字號:

使用VFP開發(fā)一個應(yīng)用軟件,最后一步是制作發(fā)布磁盤。使用VFP安裝向?qū)е谱鞯陌l(fā)布磁盤在安裝時一般只在“開始\程序\Visual FoxPro 應(yīng)用程序”組中建立快捷方式。如果希望在安裝時把快捷方式建在桌面上、開始菜單中或啟動組中,該怎么辦呢?
    解決思路
    下面是筆者的解決辦法。大體可分兩步進行:
    1.使用VFP編制一個用來建立快捷方式的程序(設(shè)程序名為CreateShortCut.exe);
    2.在安裝向?qū)А安襟E4-安裝選項”的“執(zhí)行程序”標簽下的文本框中填入前面建立的程序文件名及其路徑(通過瀏覽“…”按鈕查找)。
    這里的關(guān)鍵是第一步,如果有了第一步建立的程序CreateShortCut.exe,后一步是十分簡單的。接下來具體說明用VFP編制建立快捷方式程序的方法。
    具體實現(xiàn)
    建立快捷方式的程序中需要使用DLL函數(shù)fCreateShellLink,該函數(shù)在STKIT432.DLL中(STKIT432.DLL可在Visual Basic 4.0 for Windows的Setup Kit中找到)。在VFP中聲明fCreateShellLink函數(shù)的命令是:
    declare long fCreateShellLink in “STKIT432.DLL” String p1, String p2, String p3, String p4
    其中:
    ● p1: 用來指出快捷方式要加入的文件夾及其相對于Windows\Programs文件夾的路徑;
    ● p2: 用來指出快捷方式的名稱;
    ● p3: 用來指出程序文件名(含擴展名)及其路徑;
    ● p4: 用來指出執(zhí)行程序的命令行參數(shù),一般為空串。
    例如,要想把程序“C:\Windows\command
    .com”的快捷方式以“DOS窗口”為名建立在附件中,可用命令:
    fCreateShellLink(“.\附件”,“DOS窗口”, “C:\Windows\command.com”, “”)
    下面創(chuàng)建前面所述的CreateShortCut.exe程序,先檢查Windows\System文件夾中是否存在STKIT432.DLL文件,如果存在(否則,找到該文件將其復制到Windows\System文件夾),執(zhí)行如下操作:
    1.打開VFP,新建一個名為CreateShortCut的項目。
    2. 在CreateShortCut項目中新建一個名為prgCreateShortCut的程序,程序清單如下:
    ● 程序prgCreateShortCut.PRG
    LPARAMETERS sPn,sPd
    application.visible=.f.
    if type(‘sPn’)=‘L’
    sPn=“CreateShortCut.exe”
    sPd=“建立快捷方式”
    endif
    if upper(sPn)= “CREATESHORTCUT.EXE”
    cl=chr(13)+chr(10)+chr(13)+chr(10)
    sTs=“本程序使用方法:”+cl;
    +“先把本程序復制到要建立快捷方式的程序所在的文件夾,然后,”+cl ;
    +“從“開始”菜單中單擊“運行”,在“運行”對話框中,通過”+cl ;
    +““瀏覽”按鈕找到本程序,再在“打開”組合框中本程序名之后”+cl ;
    +“輸入命令行參數(shù): <程序文件名(含擴展名)> <快捷方式標題>,”+cl ;
    +“最后,按“確定”按鈕執(zhí)行?!?BR>    messagebox(sTs,64, “提示”)
    Cancel
    endif
    sPn=fullpath(sPn)
    do form frmCreateShortCut with sPn,sPd
    read events
    3. 在CreateShortCut項目中新建一個文件名為frmCreateShortCut的表單(如下圖)。各復選框的名稱自上而下依次為: chkProgram、chkDeskTop、chkStartMenu、chkStartUp、chkQuickLaunch。