C#を使い、IContextMenuを実装しています。
エラーを返す場合、GetCommandStringやInvokeCommandの中で、例外を使っていました。
public void GetCommandString(...) {
...
throw Marshal.GetExceptionForHR(-2147467259);
}
プロトタイプ宣言がvoidなので仕方ない事だな、とばかり思っていました。
しかし、そのような実装をしていますと、ProcessMonitorが起動しない事が分かりまして、次の様に実装し直しました。
public uint GetCommandString(...) {
...
return (0x80070057);
}
これで、ProcessMonitorが起動するようになりました。
何か、その、一時フォルダに Procmon64.exe を作成し、私のContext Menu Handlerに Open を投げ掛けて、起動しようとしていたようです。
0 件のコメント:
コメントを投稿