スライドショーを表示したい – プログラミング – Home

スライドショーを表示したい
 
通知
すべてクリア

スライドショーを表示したい


めろん
 めろん
(@めろん)
ゲスト
結合: 24年前
投稿: 3
Topic starter  

エクスプローラの「画像のタスク」にある「スライドショーを表示する」をプログラム
で行いたいと思っていますが、やり方がまったくわかりません。

指定したパスに対して表示させたいと思いますが、プログラムから実行させることはで
きないのでしょうか?

WinXP、VS2003を使用しています。

よろしくお願いします。


引用解決済
トピックタグ
FUKU
 FUKU
(@FUKU)
ゲスト
結合: 17年前
投稿: 73
 

IContextMenu::InvokeCommand()を使います。
この時、CMINVOKECOMMANDINFOのlpVerbにslideshowを指定すれば良いでしょう

VISTAで確認したのでXPは違うかもしれませんが。


返信引用
めろん
 めろん
(@めろん)
ゲスト
結合: 24年前
投稿: 3
Topic starter  

FUKUさん、コメントありがとうございます。
返事が遅くなってしまいました。

スライドショーしたい画像ファイル2つを渡しましたがうまくいきませんでした。

下記の処理で、なぜか渡した2ファイルに対して、
マカフィーのウィルススキャンが始まってしまいます。

※ エラー判定は割愛してます。

LPCONTEXTMENU lpContMenu;
lpShellFolder->GetUIObjectOf(hWnd,
nArrayCount,
(LPCITEMIDLIST*)lppItemArray,
IID_IContextMenu,
0,
(LPVOID*)&lpContMenu);

lpContMenu->QueryContextMenu(pMenu->m_hMenu, 0, 1, 0x7fff, CMF_NORMAL);

CMINVOKECOMMANDINFO ci;
ZeroMemory(&ci, sizeof(CMINVOKECOMMANDINFO));
ci.cbSize = sizeof(CMINVOKECOMMANDINFO);
ci.fMask = 0;
ci.hwnd = NULL;
ci.lpVerb = slideshow;
ci.lpParameters = NULL;
ci.lpDirectory = NULL;
ci.nShow = SW_SHOWNORMAL;
ci.dwHotKey = 0;
ci.hIcon = NULL;

lpContMenu->InvokeCommand(&ci);

lpVerbをpropertiesにすると、きちんと渡した2ファイルのプロパティが表示されま
す。

マカフィーが動いてしまうのは環境のせいだと思いますが、環境によって動作が変わる
と困ってしまいます。

XPですと違うのですね?


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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