'Rundll32.exe一枚に連続表示したい。

解決


武田  2011-01-07 07:15:45  No: 39798

皆さんよろしくお願いいたします。Windows7  Delphi6Personalです。
初歩的な質問ですが解決しません。ご指導をお願いいたします。

スライドショーのようなものを作成しています。その原型として

//Windowsの標準ビューワーを使うと固定するとき
FileName:= 'shimgvw.dll,ImageView_Fullscreen '+OpenDialog1.FileName;
ShellExecute(Handle, 'OPEN', 'Rundll32.exe',PChar(FineName+#0), nil, SW_SHOWNORMAL);
一枚開くごとに一枚のビューワーが開きます。
10枚開くとビューワーも10枚になります。
これを一枚のまま画像だけが変わるようにできないでしょうか。
一応ビューワー部分を手作りしたのは、目的を果たしてくれるのですが
なるべく標準ソフトで表示したいのです。

画像を関連づけられた標準ソフトで開く場合
ShellExecute(Form1.Handle, 'open', PChar(OpenDialog1.FileName + #0), nil, nil, SW_SHOW);
プリインストールのPCメーカー付属のビューワーを関連づけると一枚のままでできるものですから
'Rundll32.exe'でもそのような事ができるのかといろいろやってみたのですが。
力不足です。
よろしくお願いします。


Kenny  2011-01-07 19:50:55  No: 39799

質問の内容に対しては直接的な解決ではありませんが
https://www.petitmonte.com/bbs/answers?question_id=5653
こういうアプローチではだめなのでしょうか。


武田  2011-01-08 10:36:49  No: 39800

Kennyさん大変遅くなりすみません。
あのページを参考にやっていますが
まだ悪戦苦闘しております。
一応この質問は解決とさせていただき
できない結論に達したらまた質問させて下さい。
ありがとうございました。


KHE00221  2011-01-09 01:13:34  No: 39801

XP でやると2枚目を開くと1枚目を開いたビューア上に
表示されるみたい


Mr.XRAY  2011-01-10 06:37:46  No: 39802

この質問で書いているビューアーは,

Windows XP
画像とFAXビューア

Windows Vista
Windows フォトギャラリー

Windows 7
Windows フォトビューアー

と名前を変えているものではないかと思います.
Windows XPの時は,複数は起動できず,新しくダブルクリックなどで表示すると,
既に表示中のビューアーで表示されます.
で,ネット上で,複数起動できないのか,という質問をよく見かけたことがあります.
残念ながら,このビューアーには起動オプション等はないようで,制御はできなかった
と記憶しています.

Windows Vistaになって,複数起動が可能となりました.
こんどは逆に常に複数起動となります.
マイクロソフトとしては,要望に応えた形となっていることになりますね.
Windowqs 7でも名前は変わりましたが同じです.
どうしても複数起動をしたくなかったら,一度ビューアーを閉じる,という
方法も考えられるのではないかと思います.
(可能かどうかは不明です)

このビューアーは,拡張子の関連付けで開く場合は,特にRundll32.exeとか
shimgvw.dll,ImageView_Fullscreen の指定は必要ないですね.
(Vista,7では使用するdllが違います)


武田  2011-01-12 08:35:33  No: 39803

Mr.XRAY ありがとうございました。
そのようですね。普通に標準ソフトで開くようにします。
XPでは意識しなかったのに7になって、気づきませんでした。
あれっ・・そうだったのか状態。
というレベルです。
毎回閉じるのはいい方法かもしれません、この方法で支障が出ないかしばらくテストします。ありがとうございました。


武田  2011-01-12 09:08:06  No: 39804

Mr.XRAY さん結果報告します。
7では、Rundll32.exeを指定していても他社のビューワーを関連づけていれば
関連づけの方が優先されました。
というのはこのプログラムは使われていないのですね。
ユーザーがどんなビューワーを関連づけているか分からないという事は
閉じようにも閉じる事ができませんね。私の能力では。
ちなみに他社のビューワーは一枚しか起動しないので今度は削除するのは無駄になりました。
という事でこの計画はボツにしたいと思います。
ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加