愚痴
いろーーーんなこと調べたけど
delphi - How do I find the screen location of all desktop shortcuts? - Stack Overflow
の質問の回答の最後の方に
GetDesktopWindow()とか LVM_GETITEMPOSITIONとかSendMessageとか使う方法はWin10ではできないって書いてあった
これでできると思い込んで使った労力返して・・・
ついでなのでメッセージ系の値はここを参照した
List Of Windows Messages - WineHQ Wiki
ちなみにアイコンの位置はレジストリに保存されてるらしい
Where does Windows store icon positions? - Super User
調査結果
で、stackoverflowの方に書いてあるリンク先を調査
devblogs.microsoft.com
IShellWindowsとかをpythonでやろうとしたけど該当dll(Shdocvw.dll ?)をctypes.WinDLLしても
なんかうまくできなかったので諦めてc++に変更
visual studio2019でコンソールアプリとしてプロジェクト作って、
該当コードと
Do you know when your destructors run? Part 1. - The Old New Thing
プログラム内でも言及されてるけどこれのコードを張り付けて実行
アイコンの位置を取得するコードが動いた
で、その次のアイコンの位置を動かすコードも動いた
何をやっているのか全く不明なんだけど、動いたからヨシ!
ついでに、位置をファイルの保存にしようとしたら日本語が化けたりしたけど
標準ライブラリの入出力ストリーム | C++ プログラミング解説
のwofstreamのimbueのところのようにしたらうまくいった
まぁとりあえずできたしこれで記事終わり