トップページ > プログラム > 2015年11月26日 > yeqvnwwH

書き込み順位&時間帯一覧

14 位/175 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000040000004



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
Win32API質問箱 Build121 [転載禁止]©2ch.net
D言語 Part34©2ch.net

書き込みレス一覧

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
に書き換えてもだめでした


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。