- Win32API質問箱 Build121 [転載禁止]©2ch.net
691 :デフォルトの名無しさん[]:2015/11/26(木) 17:01:22.34 ID:yeqvnwwH - WScript.Shell の CLSID をレジストリで検索すると
72C24DD5-D70A-438B-8A42-98424B88AFB8 F935DC22-1CF0-11D0-ADB9-00C04FD58A0B の二つ見つかるのですが どっちが本物ですか? 両方本物なら何がどう違うんですか?
|
- Win32API質問箱 Build121 [転載禁止]©2ch.net
692 :デフォルトの名無しさん[]:2015/11/26(木) 17:02:55.99 ID:yeqvnwwH - WScript.Shell の CLSID をレジストリで検索すると
72C24DD5-D70A-438B-8A42-98424B88AFB8 F935DC22-1CF0-11D0-ADB9-00C04FD58A0B の二つ見つかるのですが どっちが本物ですか? 両方本物なら何がどう違うんですか?
|
- D言語 Part34©2ch.net
293 :デフォルトの名無しさん[]:2015/11/26(木) 17:49:18.83 ID:yeqvnwwH - Dでcomのclientを書こうとして付属のサンプルソースを試したら動作しました
wshサーバーをdispatchしてEcho('hoge')みたいなポップアップを出したいのですが サンプルをどのように書き直せばよいのですか
|
- D言語 Part34©2ch.net
294 :デフォルトの名無しさん[sage]:2015/11/26(木) 17:58:08.82 ID:yeqvnwwH - 途中まで書いたコードです
extern (Windows) HRESULT CLSIDFromProgID(const wchar *, CLSID *); const string wsh = "WScript.Shell"; interface IWSH : IUnknown { extern (Windows) int Echo(); } DWORD dwVer = CoBuildVersion(); HRESULT hr = CoInitialize(null); hr = CLSIDFromProgID(wsh.toUTF16z(), &clsid); IWSH pIWSH; hr = CoCreateInstance(&clsid, null, CLSCTX_ALL, &IID_IUnknown, &pIWSH); // FAILED(hr)の判定コードは省略していますがここまでは動作しているようです // pIWSHに値は入っているようですが次の場所でAccessViolationします pIWSH.Echo(); CoUninitialize(); pIWSH.Echo(); の行をコメントアウトすると何も起きませんが正常に完了します あと &IID_IUnknown のところを &IID_IDispatch に書き換えてもだめでした
|