• 締切済み

COBOL API 初期フォルダを指定する方法

COBOL で Windows APIでフォルダの選択を表示しましたが、 初期フォルダを指定する方法がわかりません。どなたか教えて下さい。 COBOLは富士通 NetCOBOLです。 コールバック関数をどうやって記述したらよいのかわかりません。 MOVE LOW-VALUE TO browseinfo. MOVE ハンドル TO hwndOwner. MOVE 17 TO pidlRoot MOVE LOW-VALUE TO lpszTitle-VALUE. STRING "フォルダを選択してください。" DELIMITED BY INTO Title-VALUE. MOVE FUNCTION ADDR(lpszTitle-VALUE) TO lpszTitle. COMPUTE ulFlags = H"01" + H"02" + H"04" + H"4000" MOVE LOW-VALUE TO lParam-VALUE. STRING "D:\CSVLOAD" DELIMITED BY SIZE INTO lParam-VALUE WITH POINTER X. MOVE FUNCTION ADDR(lParam-VALUE) TO lParam. DISPLAY "ulFlags = " ulFlags. CALL "SHBrowseForFolderA" WITH STDCALL LINKAGE USING BY REFERENCE browseinfo RETURNING pID . DISPLAY "SHBrowseForFolderAのReturnValue = " pID IF pID NOT = 0 CALL "SHGetPathFromIDList" WITH STDCALL LINKAGE USING BY VALUE pID BY REFERENCE pszPath RETURNING ReturnValue DISPLAY "SHGetPathFromIDListA = " ReturnValue DISPLAY " pszPath = " pszPath DISPLAY "pszDisplayName-VALUE = " pszDisplayName-VALUE END-IF.

みんなの回答

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

COBOLはよくわかりませんが(学生時代ちょっとやっただけなので)、 Win32 API呼び出しの問題のようですね。 > MOVE 17 TO pidlRoot この、pidlRootに設定する数値を変更することで指定できないでしょうか? 数字の意味は参考URLを見てください。 コールバック関数云々はもうちょっと情報がないとわかりません。

参考URL:
http://yokohama.cool.ne.jp/chokuto/urawaza/prm/CSIDL.html
fudoukai
質問者

お礼

ご返事が遅くなってすいません。 >> MOVE 17 TO pidlRoot SHBrowseForFolderA取得した、値をいれてもOKなのか一度試してみます。 ダメモトで・・

関連するQ&A