初心者ですが,API関連コマンドのヘルプの読み方を教えて下さい。
例えば ShellExecute のヘルプは下のように書かれていますが,
ABプログラム中で実際にどう書いたらよいのか分かりません。
F-BASIC などでは ShellExecute "外部コマンド名",,, (カンマ
のところはオプションパラメータなど)でOKだったのですが…
初心者にはヘルプに「例」があるとすごく分かり易いのですが,
ABのヘルプには例が少なくて残念です。今後の充実を切に望みます。
(ヘルプより)
Win32API: ShellExecute
指定したドキュメントを、指定したアプリケーションで開きます。
-------------------------------------------------------------------
定義
Declare Function ShellExecute Lib "shell32" Alias "ShellExecuteA" _
(hWnd As HWND, _
lpOperation As BytePtr, _
lpFile As BytePtr, _
lpParameters As BytePtr, _
lpDirectory As BytePtr, _
nShowCmd As Long) As HINSTANCE
…
… 以下略
-------------------------------------------------------------------
で,例えば explorer.exe を呼びたいとき,どのように書いたら
いいのでしょうか,教えて下さい。
他の API コマンドについても,この定義,およびそこにあるパラメータの
使い方を見て,実際の ABプログラムを書くにはどうすればよいか,
何か基本ルール,あるいは読めばよいものなど情報があればお教え下さい。
ヘルプ(APIコマンド)の読み方
定義の部分は、AB(ActiveBasic)にこのように定義されていますよ、ということです。
だから、このパラメータにあわせて書いてくださいね・・・ということです。
結果こうなります。
ShellExecute(hWnd,lpOperation,lpFile,lpParameters,lpDirectory,nShowCmd)
hWndとかは、全部ヘルプにどうすればいいか書いてあります。
書き方さえマスターすれば、簡単にできますよ。
だから、このパラメータにあわせて書いてくださいね・・・ということです。
結果こうなります。
ShellExecute(hWnd,lpOperation,lpFile,lpParameters,lpDirectory,nShowCmd)
hWndとかは、全部ヘルプにどうすればいいか書いてあります。
書き方さえマスターすれば、簡単にできますよ。
余談 [ここをクリックすると内容が表示されます]
AB触り始めてすぐのころは、WindowMessageを
CB_ADDSTRING(lParam・・・??
こんなことしてたような気がします。
今となってはいい思い出?です。
CB_ADDSTRING(lParam・・・??
こんなことしてたような気がします。
今となってはいい思い出?です。
===============================
MyHomePage;; raiden.no.land.to/
===============================
MyHomePage;; raiden.no.land.to/
===============================
ヘルプを見るとき,Declareで始まる定義はどちらかというとおまけです。大事なのは,その下にある各引数の説明です。
いくつか気をつけたほうが良いところを書いておきます。
> hWnd
ウィンドウハンドルは,ウィンドウプログラムならhMainWndか何かがあるでしょうからそれを指定します。なければ0(或いはNULL)で構いません。
> lpOperation
ABのヘルプには記載がありませんが,0(或いはNULL)で問題ありません。"oepn"を指定するのとほぼ同じです。
> nShowCmd
特に指定する気がなければ,一覧の中で最も特別な意味を持たないSW_SHOWにすれば良いです。
またlpFilenなど「NULLで終わる文字列へのポインタを指定します。」と書かれているものは,
"c:\foo.txt"のように文字列を直に書くほか,String/Byte配列/Byteへのポインタ (*Byte)の変数を指定することができます。
またNULLを指定します/できますとある場合,NULLの代わりに0でも構いません。
それを踏まえて最も単純に使おうとすると,例えば次のようになります。
いくつか気をつけたほうが良いところを書いておきます。
> hWnd
ウィンドウハンドルは,ウィンドウプログラムならhMainWndか何かがあるでしょうからそれを指定します。なければ0(或いはNULL)で構いません。
> lpOperation
ABのヘルプには記載がありませんが,0(或いはNULL)で問題ありません。"oepn"を指定するのとほぼ同じです。
> nShowCmd
特に指定する気がなければ,一覧の中で最も特別な意味を持たないSW_SHOWにすれば良いです。
またlpFilenなど「NULLで終わる文字列へのポインタを指定します。」と書かれているものは,
"c:\foo.txt"のように文字列を直に書くほか,String/Byte配列/Byteへのポインタ (*Byte)の変数を指定することができます。
またNULLを指定します/できますとある場合,NULLの代わりに0でも構いません。
それを踏まえて最も単純に使おうとすると,例えば次のようになります。
コード: 全て選択
#strict
#prompt
Dim filename As String
Input "Open file>", filename
ShellExecute(0, 0, filename, 0, 0, SW_SHOW)