投稿日 | : 2003/06/04(Wed) 14:51 |
投稿者 | : あおい |
Eメール | : |
URL | : |
タイトル | : ShellExecuteAを呼び出してはいけないのですか? |
Lantern 様
花ちゃん様
お手数をおかけして申し訳ございません。
No4273のLantern 様のご教授どおりに記載すると稼動いたします。
ただ、私の初期ソース(long型の間違え修正後)ではShellExecuteAで
以下のソースのように記載しておりましたためオーバーフローエラーが発生しました。
No4265のLantern 様のコメントをよんでShellExecuteで呼び出し可能いうことが
分かりました。
そこで、私は呼び出しても可能ということは通常ではやはりShellExecuteAで呼び出すのだと
思ったのです。
下記のソースのShellExecuteAをShellExecuteにすると動きます。
ということは、ShellExecuteAで呼び出すこと間違えということなのでしょうか?
間違えの場合、2.の宣言はいらないのでしょうか??
(上記の説明の為宣言に番号を振りましたが、実際のソースにはこの番号は記載しておりません)
1.Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
2.Private Declare Function ShellExecuteA Lib "shell32.dll" (ByVal hwnd As Integer, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Integer) As Integer
Private Sub Command1_Click()
Dim ret As Long
ret = ShellExecuteA(Me.hwnd, "open", "test01.txt", vbNullString, "C:\", 1&)
End Sub
ShellExecuteAにこだわっているわけではないのですが、どうしてShellExecuteAで呼び出してはいけないかが
わからないんです。
理解能力が乏しくて申し訳ございません。
今一度、ご教授をお願いいたします。