mfc-ml

2006年10月

31

[mfc 52337] Re: ShellExecute の動作に関して

自己レスです。

結局 ShellExecute(Ex) を使う方法では解決しませんでした。

スッキリしない方法ですが、explorer.exe に C:\abc のパスを渡すと
正しく開かれるようなので、この方法で進めようと思います。
30

[mfc 52336] SOAPプログラムの動作不具合

(送信ミスを行ってしまったかもしれないので、再送させて下さい)

久保田と申します。何時もお世話になっております。

以下のホームページで紹介されているSOAPプログラムが突然動作し
なくなり、大変困っております。(4日間、悩んでいます)

http://msdn2.microsoft.com/ja-jp/library/51f6ye7k.aspx#Mtps_DropDownFilterText

★何か原因に関する情報をお持ちの方がいらっしゃいましたら、教えて
  頂けないでしょうか。何でも結構(「私の所では動作します」など)
  です。よろしくお願い申し上げます。

1)動作状況
  9月上旬頃には動作していたのですが、10月26日にSOAPをベー
  スとしたプログラムを作成しようと思い基本動作を確認したところ、
  以下の結果となっております。

--- Client側走行ログ ---
SoapException caught:  ← サーバ呼び出しに対して例外が発生
        Actor:
        Code:http://schemas.xmlsoap.org/soap/envelope/:Client
        Detail:

--- Server側走行ログ ---
Press any key to stop the listener
Start listening
accept()
Accepted, clientSocket = 164

いろいろなPCで動作確認を行いましたが、同じ結果となっております。

2)原因解析状況
  Server側の処理としては、Socketレベルではデータを受信しており、 
  SOAPTransportSrv.h内の以下の処理でエラーが発生しております。
  エラーコードは、-1072896680です。

108: hr = BeginParse(pTransInfo->pReadStream); ← エラー発生箇所
109: if (FAILED(hr))
110: {
111:  UninitializeSOAP();
112:  return SoapFault(SOAP_E_CLIENT, NULL, 0);
113: }

3)作業環境
作業環境は以下のようになっています。

OS    :Windows XP Professional Ver.2002 SP2
動作環境:Microsoft .NET Framework 1.1
開発環境:Visual C++ .NET Standard 2003

                                                            以上
20

[mfc 52335] ShellExecute の動作に関して

お世話になります、rollerballer です。

#昨日から2回ほど送信しているのですが、配信されていないようなので
#再送します。重複して受け取られた場合は申し訳ありません。

ShellExecute(Ex) の動作で悩んでいます。

この API で特定のフォルダを開きたいのですが、フォルダと同名の EXE 
ファイルが存在するとき、Windows 2000 で正常に動作しません。

例えば、C:\abc.exe というファイルと C:\abc\ というフォルダがあった
ときの動作は次のようになります。lpFile, lpVerb は ShellExecute(Ex)
のパラメータです。

    lpFile   lpVerb   XP SP2            2000 SP4
--------------------------------------------------------
(1) C:\abc   explore  エラー            エラー
(2) C:\abc\  explore  フォルダが開く    エラー
(3) C:\abc   open     EXE が実行される  EXE が実行される
(4) C:\abc\  open     フォルダが開く    EXE が実行される

「エラー」の箇所は、ShellExecute だとエラー SE_ERR_NOASSOC (31) が
返り、ShellExecuteEx だと「指定されたファイルに対してこの操作を行
うプログラムが関連付けられていません。[フォルダオプション] コント
ロールパネルでプログラムを関連付けてください。」というメッセージが
表示されます。エラーの内容としては同じかと思われます。

2000 でも、このような状況下で XP と同じようにフォルダを開く方法は
あるのでしょうか?
17

[mfc 52334] Re: VistaのUACダイアログでの発行元

ぽてぽて です。
rollerballerさん、情報ありがとうございます。

デジタル署名を取得して、インストーラのEXEファイルにツールを
使って署名を行う。という流れが、UACに対する対処として取るべき
道なのですね。

ご紹介頂いた情報をよく読んで対応を決めたいと思います。
情報を頂いた皆様、本当にありがとうございました。
17

[mfc 52333] Re: VistaのUACダイアログでの発行元

rollerballer です。

管理者権限が必要なプログラムがデジタル署名されていないときに出る
メッセージですね。

正しく発行元を表示させたいのであれば、コードサイニング証明書を取得
して、signcode.exe や signtool.exe といったファイル署名ツールを使
ってインストーラにデジタル署名する必要があります。

コードサイニング証明書
http://www.verisign.co.jp/codesign/authenticode/

ファイル署名ツール
http://msdn2.microsoft.com/ja-jp/library/8s9b9yaz.aspx
http://msdn2.microsoft.com/ja-jp/library/9sh96ycy.aspx
記事検索
Amazon.co.jp
  • ライブドアブログ