ShellExecute を利用して複数のファイルを開きたい – プログラミング – Home

ShellExecute を利用して複...
 
通知
すべてクリア

ShellExecute を利用して複数のファイルを開きたい


kudou
 kudou
(@kudou)
ゲスト
結合: 20年前
投稿: 5
Topic starter  

XP sp2 VC++6.0 MFC
ShellExecuteを利用して複数のファイルを立ち上げたいのですが、
一つしか立ち上げることができません。

for文のループでShellExecuteを選択したアイテム分起動してします。
何故か一度そのファイルを閉じないと開けないです。


引用解決済
トピックタグ
RAPT
 RAPT
(@RAPT)
ゲスト
結合: 22年前
投稿: 310
 

ソースコードは?
それから、その「立ち上げたい」ファイルの種類は?


返信引用
kudou
 kudou
(@kudou)
ゲスト
結合: 20年前
投稿: 5
Topic starter  

これです。
何か間違っていますか。
自分ではわかりません。

// リストビューの表示されてる情報を全て消去
CListCtrl& ListCtrl = GetListCtrl();

// 選択したアイテム数を取得
int ItemNum = ListCtrl.GetSelectedCount();

// 選択した全てのファイルを取得する
POSITION pos = ListCtrl.GetFirstSelectedItemPosition();
if (pos == NULL)
TRACE0(No items were selected!\n);
else
{
while (pos)
{
// 選択したリストの番号を取得
int nItem = ListCtrl.GetNextSelectedItem(pos);

// ファイルのフルパスを取得してShellExecute関数でファイルを開く(ダブルクリッ
クしたファイル)
HINSTANCE result = ShellExecute
(NULL, open, C:\\test.tif ,NULL ,NULL, SW_SHOW);
if( result != 0 ) return false;
}
}


返信引用
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

エクスプローラのフォルダオプションの TIF ファイルの open の
「DDEを使う」のチェックをはずしてみたらどうなりますか?

# m_lpCmdLine の使い方について は解決したのでしょうか?


返信引用
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

>エクスプローラのフォルダオプションの TIF ファイルの open の
>「DDEを使う」のチェックをはずしてみたらどうなりますか?
あんま関係なかったかも。。。

とりあえず open でどのプログラムに関連付けられているかを示されたほうがいいと
思います。


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

> HINSTANCE result = ShellExecute
> (NULL, open, C:\\test.tif ,NULL ,NULL, SW_SHOW);
> if( result != 0 ) return false;

戻り値は、a value greater than 32 if successful, or an error value
that is less than or equal to 32 otherwise. ですので、
ループを抜けてしまうと思いますが。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました