撰寫者: Devil(璉璉) Devil.bbs@vlsi1.iie.ncku.edu.tw -------------------------------------------------------------------------- PowerStation 4.0 如何以程式碼啟動說明檔? 說明檔啟動分好幾種,主要分成種,一種是程式碼啟動,一種是事 件啟動,本文先探討如何以程式啟動。 程式啟動又分好幾種方法,依序如下介紹: 1.result = SYSTEMQQ('winhelp MyHelp.hlp') 這是 PowerStation 4.0 內定執行外部程式的函數之一,執行時會 有程式先切入 DOS畫面再返回 Windows系統的情形。選用此函數需 在檔頭加入 include 'flib.fi' include 'flib.fd' 或 INTERFACE TO LOGICAL*4 FUNCTION SYSTEMQQ(COMMANDLINE) CHARACTER*(*) COMMANDLINE END 2.result = RUNQQ('winhelp', 'MyHelp.hlp') 這是 PowerStation 4.0 內定執行外部程式的函數之一,執行時不 會像 SYSTEMQQ 切入 DOS畫面再返回 Windows系統的情形,感覺相 容度較高。選用此函數需在檔頭加入 include 'flib.fi' include 'flib.fd' 或 INTERFACE TO INTEGER*4 FUNCTION RUNQQ(FILENAME, COMMANDLINE) CHARACTER*(*) FILENAME, COMMANDLINE END 3.result=WinExec ('winhelp MyHelp.hlp' ,1) 這是 Win32 API函數之一,若你安裝 PowerStation 4.0 有選擇的 話,可以在說明中找到。執行情形同上,算是 Windows的標準執行 函數。選用此函數需在檔頭加入 use MSFWIN 或 interface integer(4) function WinExec (lpCmdLine ,uCmdShow) !MS$ ATTRIBUTES STDCALL, ALIAS : '_WinExec@8' :: WinExec !MS$ ATTRIBUTES REFERENCE :: lpCmdLine character*(*) lpCmdLine integer uCmdShow end function WinExec end interface 其中引數 uCmdShow 可參考如下: SW_HIDE = 0 SW_SHOWNORMAL = 1 SW_NORMAL = 1 SW_SHOWMINIMIZED = 2 SW_SHOWMAXIMIZED = 3 SW_MAXIMIZE = 3 SW_SHOWNOACTIVATE = 4 SW_SHOW = 5 SW_MINIMIZE = 6 SW_SHOWMINNOACTIVE = 7 SW_SHOWNA = 8 SW_RESTORE = 9 SW_SHOWDEFAULT = 10 SW_MAX = 10 4.Bresult=WinHelp (0 ,' MyHelp.hlp' ,#0003 ,0) 這是 Win32 API函數之一,若你安裝 PowerStation 4.0 有選擇的 話,可以在說明中找到。這個函數是最標準的 Windows說明檔啟動 方法,上面三種是屬於執行說明檔的方式啟動,要是你的 Windows 有登錄 HLP (一般都有) 則直接執行 MyHelp.hlp ,可以不用再加 上 WinHelp執行檔部分。選用此函數需在檔頭加入 use MSFWIN 或 interface logical(4) function WinHelp (hWndMain ,lpszHelp ,uCommand ,dwData) !MS$ATTRIBUTES STDCALL, ALIAS : '_WinHelpA@16' :: WinHelp !MS$ATTRIBUTES REFERENCE :: lpszHelp integer hWndMain character*(*) lpszHelp integer uCommand integer dwData end function WinHelp end interface 這裡在分述如後: a.引數 hWndMain 是視窗在 Windows中的代號,若不指定以 0指定, 則說明檔打開後就獨立,不與原程式再關連。相反帶入代號,則當 程式結束後,說明檔亦會自動關閉。 HandleNumber=GetHandleFrameQQ() 利用上述函數可以取得代號。。選用此函數需在檔頭加入 include 'flib.fi' include 'flib.fd' 或 INTERFACE TO FUNCTION GETHANDLEFRAMEQQ() INTEGER*4 GETHANDLEFRAMEQQ[C,ALIAS:"__QWINTGethFrame"] END b.其中引數 uCommand 可參考如下: parameter HELP_CONTEXT = #0001 ! Display topic in ulTopic parameter HELP_QUIT = #0002 ! Terminate help parameter HELP_INDEX = #0003 ! Display index parameter HELP_CONTENTS = #0003 parameter HELP_HELPONHELP = #0004 ! Display help on using help parameter HELP_SETINDEX = #0005 ! Set current Index for multi index help parameter HELP_SETCONTENTS = #0005 parameter HELP_CONTEXTPOPUP = #0008 parameter HELP_FORCEFILE = #0009 parameter HELP_KEY = #0101 ! Display topic for keyword in offabData parameter HELP_COMMAND = #0102 parameter HELP_PARTIALKEY = #0105 parameter HELP_MULTIKEY = #0201 parameter HELP_SETWINPOS = #0203 c.其中引數 dwData 視 uCommand 需填入不同的值。請另行參閱相 關資料。 先介紹到這裡,拜拜!