ページ 11

ヘルプ(APIコマンド)の読み方

Posted: 2006年12月18日(月) 15:55
by 初心者
 初心者ですが,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プログラムを書くにはどうすればよいか,
何か基本ルール,あるいは読めばよいものなど情報があればお教え下さい。

Posted: 2006年12月18日(月) 17:57
by 雷電
定義の部分は、AB(ActiveBasic)にこのように定義されていますよ、ということです。
だから、このパラメータにあわせて書いてくださいね・・・ということです。

結果こうなります。

ShellExecute(hWnd,lpOperation,lpFile,lpParameters,lpDirectory,nShowCmd)

hWndとかは、全部ヘルプにどうすればいいか書いてあります。
書き方さえマスターすれば、簡単にできますよ。

Posted: 2006年12月18日(月) 20:18
by イグトランス
ヘルプを見るとき,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でも構いません。

それを踏まえて最も単純に使おうとすると,例えば次のようになります。

コード: 全て選択

#strict
#prompt
Dim filename As String
Input "Open file>", filename
ShellExecute(0, 0, filename, 0, 0, SW_SHOW)

Posted: 2006年12月19日(火) 12:28
by 初心者
雷電様、イグトランス (egtra)様、ありがとうございました。
APIコマンドの具体的な書き方が少し分かりました。
やってみます。