お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"シェルアイコンを再起動せず変更する"

この発言に対し以下のコメントが寄せられています
#00220 CAT さん Re:シェルアイコンを再起動せず変更する
#00228 CAT さん Re:シェルアイコンを再起動せず変更する

◆説明◆  TWEAK UIのようにマイコンピュータアイコンやフロッピーディスクなどのシェルアイコンを変更した際、 再起動せずに変更内容を反映します。 具体的には、レジストリにアイコン情報を書き込んだ後に一度アイコンサイ ズを変更した後、また元のサイズに戻しています。 #もっとクールな実現方法があったら教えてください(^^;;;) ◆サンプルコード◆ uses Regstr procedure TForm1.Button1Click(Sender: TObject); const ShellIcons = REGSTR_PATH_EXPLORER + '\Shell Icons'; var Reg: TRegistry; IconSize: Integer; begin Reg:=TRegistry.Create; with Reg do try RootKey := HKEY_LOCAL_MACHINE; if OpenKey(ShellIcons,False) then begin // IconPath : アイコンのパス // 例)'c:\windows\system\shell32.dll,6' 'c:\windows\foo.ico' WriteString('11',IconPath); // フロッピーディスクアイコンの指定 CloseKey; end; RootKey := HKEY_CURRENT_USER; if OpenKey(REGSTR_PATH_METRICS,False) then begin // 現在のアイコンサイズの取得 IconSize := ReadString('Shell Icon Size'); // アイコンサイズを現在のサイズ-1に変更 WriteString('Shell Icon Size',IntToStr(StrToInt(IconSize)-1)); CloseKey; end; // 変更の反映 SendMessage(HWND_BROADCAST,WM_WININICHANGE, 0,LongInt(PChar('WindowMetrics'))); if OpenKey(REGSTR_PATH_METRICS,False) then begin // アイコンサイズを元に戻す WriteString('Shell Icon Size',IconSize); CloseKey; end; SendMessage(HWND_BROADCAST,WM_WININICHANGE, 0,LongInt(PChar('WindowMetrics'))); finally Free; end; end; 97/11/27(木) 22:07 CAT(KYJ04762) #これがFDELPHIでは初めての発言です。 #今までずぅっとROMでお世話になった恩返しがちょっとはできたでしょうか #(^^;;;) Original document by CAT 氏 ID:(KYJ04762)



ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum