デスクトップ上のアイコンを移動させるにはどうすればいいのでしょうか への返答
投稿で使用できる特殊コードの説明。(別タブで開きます。)
以下の返答は逆順(新しい順)に並んでいます。
投稿者 しるふぃん  (社会人)
投稿日時
2011/3/31 10:12:41
考え方の参考にと思っただけなので^^;
本文中の
「デスクトップの背景とはすなわち"デスクトップアイコンより下"になる。」
という考え方を調べていけば・・・・あるいは?です。
本文中の
「デスクトップの背景とはすなわち"デスクトップアイコンより下"になる。」
という考え方を調べていけば・・・・あるいは?です。
投稿者 オニオンライス  (社会人)
投稿日時
2011/3/30 22:27:08
>るきおさん
すみません。私も知りません。
もう少し調べてから再度質問したいと思います。
とりあえずこの質問は解決ということにさせていただきます。
すみません。私も知りません。
もう少し調べてから再度質問したいと思います。
とりあえずこの質問は解決ということにさせていただきます。
投稿者 るきお  (社会人)
投稿日時
2011/3/30 21:59:50
しるふぃんさんが紹介されているサイトは、
デスクトップの背景を、マイクロソフトが想定していなかった手段で変更しようとする話のようですね。
(すいません。長かったのでななめ読みしてしまいました。)
アイコンを移動させる話ではないように思いました。
デスクトップの背景を、マイクロソフトが想定していなかった手段で変更しようとする話のようですね。
(すいません。長かったのでななめ読みしてしまいました。)
アイコンを移動させる話ではないように思いました。
投稿者 るきお  (社会人)
投稿日時
2011/3/30 21:57:54
回答ではないです。
オニオンライスさんはデスクトップのアイコンの情報がどこに保存されているかご存知ですか?
その保存されている場所の情報をVBで書き換えればアイコンの位置を移動できると思うのですが、
私はアイコンの情報がどこに保存されているかわからないため具体的なプログラムを紹介することができません。
また、アイコン情報が保存されている場所が分かっても、その場所がVBからアクセスできないか、しにくいような仕組みになっている場合にはVBでのプログラムはあきらめた方が良い場合もあります。
いずれにせよ、デスクトップのアイコンの情報がどこに保存されているかわからないと話がはじまらないです。
レジストリかなと思って覗いてみましたが、ちょっと見た限りではそれっぽい情報はありませんでした。
オニオンライスさんはデスクトップのアイコンの情報がどこに保存されているかご存知ですか?
その保存されている場所の情報をVBで書き換えればアイコンの位置を移動できると思うのですが、
私はアイコンの情報がどこに保存されているかわからないため具体的なプログラムを紹介することができません。
また、アイコン情報が保存されている場所が分かっても、その場所がVBからアクセスできないか、しにくいような仕組みになっている場合にはVBでのプログラムはあきらめた方が良い場合もあります。
いずれにせよ、デスクトップのアイコンの情報がどこに保存されているかわからないと話がはじまらないです。
レジストリかなと思って覗いてみましたが、ちょっと見た限りではそれっぽい情報はありませんでした。
投稿者 オニオンライス  (社会人)
投稿日時
2011/3/30 21:35:40
開発環境を書くのを忘れていました。
OS : Windows Vista
IDE : VisualBasic 2010
OS : Windows Vista
IDE : VisualBasic 2010
投稿者 しるふぃん  (社会人)
投稿日時
2011/3/30 16:08:10
開発環境等が詳しく書かれていませんが、参考になれば。
※Windows XP + Excel 200 VBAの環境で確認されてます。
http://muni2muni.blog26.fc2.com/blog-entry-45.html
※Windows XP + Excel 200 VBAの環境で確認されてます。
http://muni2muni.blog26.fc2.com/blog-entry-45.html
投稿者 オニオンライス  (社会人)
投稿日時
2011/3/30 14:48:42
初めまして。
座標指定などで特定のアイコンを移動させたいのですがどのようにやればいいのでしょうか。
座標指定などで特定のアイコンを移動させたいのですがどのようにやればいいのでしょうか。
デスクトップ、およびフォルダーウィンドウ関連の情報は、
HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\Bags\{数字}
だったかと思います。Vista や 7 でも同じかどうかは分かりませんが。
> アイコンを移動させる話ではないように思いました。
というよりも、デスクトップの実態が ListView である、という話かと思います。
ListView であることさえ分かれば、アイコン位置の取得/設定は
LVM_GETITEMPOSITION / LVM_SETITEMPOSITION32 あたりで行えますね。
Vista や 7 では試していませんが、少なくとも 2000 や XP では
という感じで、ListView のハンドルを得られます。
しるふぃんさんが紹介されたサイトでも、同様の事が記載されていますね。
# アイコン位置の“取得”だけなら、MSAAv2 で行えるのですけれどね…。