ShellExecute パートⅡ


しもぢ  2005-07-25 23:28:26  No: 91075

Public Declare Function ShellExecute Lib "shell32.dll" Alias _
      "ShellExecuteA" (ByVal hwnd As Long, ByVal lpszOp As _
      String, ByVal lpszFile As String, ByVal lpszParams As String, _
      ByVal lpszDir As String, ByVal FsShowCmd As Long) As Long

     Public Declare Function GetDesktopWindow Lib "user32" () As Long

      
      Const SW_HIDE = 0
      Const SW_SHOWNORMAL = 1
      Const SW_SHOWMINIMIZED = 2
      Const SW_SHOWMAXIMIZED = 3
      Const SW_SHOWNOACTIVATE = 4
      Const SW_SHOW = 5
      Const SW_MINIMIZE = 6
      Const SW_SHOWMINNOACTIVE = 7
      Const SW_SHOWNA = 8
      Const SW_RESTORE = 9
      Const SW_SHOWDEFAULT = 10
を宣言し、
フォームのボタンクリック時に
Dim Ret As Long
 Ret = ShellExecute(Scr_hDC, "Open", DataMDB, "", "", SW_SHOW)

で無事ファイルオープンできましたが、最後のSW_NORMALの部分をSW_HIDE に変えてみても表示は変わらず、他のSW_○○  としてみても全く同じです。ここでウィンドウの表示を変えれるはずなのになぜ、変化がないのでしょうか?よろしくお願い致します。


ガッ  2005-07-26 00:01:48  No: 91076

うーん、Access97で空のDBを作って以下のように試してみましたが、
ちゃんと最小化されてAccessが起動してくれましたよ?
Debug.Print ShellExecute( _
  0, _
  "open", _
  "C:\db1.mdb", _
  vbNullString, _
  vbNullString, _
  SW_SHOWMINIMIZED)

> Ret = ShellExecute(Scr_hDC, "Open", DataMDB, "", "", SW_SHOW)
このScr_hDCが非常に気になるのですが、
デバイスコンテキストハンドルなら渡しても意味がないよーなw;


しもぢ  2005-07-26 01:25:48  No: 91077

ありがとうございます。
アクセス以外だと、ちゃんとできました。アクセスに何かありそうです・・・
  
で、無事mdbファイルがOPENできて、そこから任意のレポートを表示するようにしたいのですが、どうすればよいのでしょうか?


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加