★アイコンチューザー

「★アイコンチューザー」の編集履歴(バックアップ)一覧に戻る

★アイコンチューザー - (2009/03/10 (火) 01:00:16) のソース

*情報
作者名:のなお(のんきなおやじ)
引用元:[[なでしこプログラム掲示板「アイコンチューザー(アイコン抽出)」>http://www.himanavi.net/cgi/nade-bbs/cbbs.cgi?mode=al2&namber=272&rev=&no=0]]
http://nadesi.com/index.php

*概要
このプログラムはEXEやDLLから、アイコンを抽出するものです。
#image(無題.PNG)

*解説
 このプログラムは、なでしこのホームページの質問掲示板から派生したものです。
 http://www.himanavi.net/cgi/nade-bbs2/cbbs.cgi?mode=all&namber=1867&type=0&space=0&no=0
 
 #------------------------------------------
 プログラムは、初めての投稿です。なでしこを初めて早、4ヶ月もたってしまいました。
 なにかお役に立てればと思い投稿します。
 このプログラムはEXEやDLLから、アイコンを抽出するものです。
 部品スクロールパネルを使っていますので、なでバージョンは1.395以上は必須です。
 コメントもなく見づらいと思いますが、ご参考まで。。。
 #------------------------------------------
 更新履歴
 10/07
  ◆直接DLL抽出してテキスト生成する機能を追加
  ◆ヘルプ(ブラウザ)を追加
 08/06
  ◆保存トレイを母艦内に格納
  以前の修正で保存トレイの座標を0,0にしましたが、母艦に格納し、「ダブルクリックで出し入れ」できるようにしました。
  ◆変数名の変更や用語の書き換えを少々いじりました。(^^;
 08/05
  ◆自宅のノートPC(1280x600画面)で、保存トレイが画面外にセットされるのを見て座標0,0をデフォルトに修正しました。
  これは、スクロールパネルが実装されたので、後々母艦内に組み込むかもしれません。
  ◆Windowsの動作確認の提供を受け、shell.dllをOSごとに場所の分岐を追加。
  これで動作確認がWin98以降となりました。(^^
 #------------------------------------------

*//本体
 #★ここから
 #-------------------------------------------------------------------------------
 !母艦設計=『母艦の可視はオフ』
 #---------------------------------------
 #変数
 オペレーティングシステムとはOS
 もし、オペレーティングシステムが「Windows 98」ならば
   ウィンアイコンは「{WINDOWSパス}\system\shell32.dll」
 もし、オペレーティングシステムが「Windows Me」ならば
   ウィンアイコンは「{WINDOWSパス}\system\shell32.dll」
 もし、オペレーティングシステムが「Windows 2000」ならば
   ウィンアイコンは「{WINDOWSパス}\system32\shell32.dll」
 もし、オペレーティングシステムが「Windows XP」ならば
   ウィンアイコンは「{WINDOWSパス}\system32\shell32.dll」
 チューチューファイルはウィンアイコン
 #謝辞:↑(動作情報とDLLの場所提供:あっし~2号さん)ありがとうございました。
 
 DLL画像番号とは配列
 保存ファイルとは配列
 保存位置とは整数
 保存名とは文字列
 画像追加とは整数=オン
 アイコン取得制限とは整数
 開くフォルダとは文字列
 保存フォルダとは文字列
 抽出停止とは整数
 サンプルテキストとは文字列
 !灰色とは整数=ウィンドウ背景色
 #!透過色とは整数=RGB(224,223,227)
 !アイコンサイズとは整数=32
 アイコン数とは整数
 説明モードとは整数
 クリック画像とは整数
 #---------------------------------------
 「,m1,ファイル(&F)
 m1,f1,アイコン画像を保存(&S),Ctrl+S,,保存処理
 m1,f2,-
 m1,f3,WINDOWSアイコンをチューチューする(&I),Ctrl+I,,開く処理(ウィンアイコン)
 m1,f4,-
 m1,f5,その他のファイルからチューチューする(&O),Ctrl+O,,開く処理(空)
 m1,f6,-
 m1,f7,閉じる(&W),Ctrl+W,,終わる
 ,m3,表示(&D)
 m3,m30,テキスト生成(&T)
 m30,t1,DLL抽出タイプ(&P),Ctrl+P,,DLLサンプル表示
 m30,t2,画像読込タイプ(&O),Ctrl+O,,IMGサンプル表示
 m30,t3,-
 m30,t4,テスト実行(&T),Ctrl+T,,テスト実行処理
 m3,d3,-
 m3,d4,保存トレイを出す/格納(&D),Ctrl+D,,保存フォーム処理
 m3,d5,-
 m3,d6,2/1にリサイズ(&R),Ctrl+R,,画像縮小
 m3,d7,-
 m3,d8,保存画像を初期化(&N),Ctrl+N,,画像初期化
 m3,d9,アイコン取得制限(&L),Ctrl+L,,アイコン取得制限設定
 ,m5,ヘルプ(&1),F1,,簡易説明
 #,m10,デバッグ
 #m10
 ,d1,デバッグ,,,デバッグ
 」をメニュー一括作成
 #---------------------------------------
 情報とはステータスバー
 #---------------------------------------
 #母艦フォーム
 母艦について
   タイトルは「アイコンチューザー」
   クライアントWはアイコンサイズ*16+4
   クライアントHはアイコンサイズ*15+情報のH+8
   母艦を中央移動
   母艦の背景色は灰色
   クリックした時は~抽出停止は1
 
 便利とはスクロールパネル
 これについて
   レイアウトは「上」
   Hはアイコンサイズ+21
   ダブルクリックした時は~保存フォーム処理
 
 保存トレイラベルとはラベル
 これについて、親部品は便利
   Xは(便利のパネル幅-W)/2。Yは10
   ダブルクリックした時は~保存フォーム処理
 
 表示パネルとはスクロールパネル
 これについて、レイアウトは「全体」
 
 表示画像とはイメージ
 これについて、親部品は表示パネル
   Xは0。Yは0。Wは0。Hは0
   マウス移動した時は
     画像番号チェック(マウスX,マウスY)
   マウス離した時は
     もし、押されたボタンが「右」ならば
       画像番号チェック(マウスX,マウスY)
       ダイアログタイトルは「確認」
       もし、「{クリック画像} 番の画像をクリップボードに{~}コピーしますか?」で二択ならば、画像クリップ(N)
   クリックした時は
     抽出停止は1
     情報は「 」&クリック画像&「番」
   ダブルクリックした時は
     アイコンコピー(マウスX,マウスY)
     情報は「 アイコン{クリック画像}番を保存トレイに追加しました」
 
 #---------------------------------------
 #保存フォーム
 保存フォームとはフォーム
 これについて
   背景色は灰色
   最前面表示はオン
   スタイルは「ツールウィンドウ」
   タイトルは「保存トレイ」
   表示した時は
     保存フォームのWは母艦のW。保存フォームのクライアントHは便利のH
     Xは母艦のX。Yは母艦のY-H
 
 加工画像とはイメージ
 これについて、親部品は保存フォーム
   可視はオフ
 
 保存画像とはイメージ
 これについて、親部品は便利
   Xは0。Yは0。Wはアイコンサイズ。Hはアイコンサイズ
   ヒントは「クリックするとサンプルテキストを生成表示します」
   ダブルクリックした時は~サンプル表示
 
 #---------------------------------------
 #ヘルプブラウザフォーム
 ヘルプフォームとはフォーム
 これについて
   クライアントWは500
   タイトルは「ヘルプ - アイコンチューザー」
 ヘルプフォームを中央移動
 ヘルプブラウザとはブラウザ
 これについて
   親部品はヘルプフォーム
   レイアウトは「全体」
   URLは「about:blank」
 
 #---------------------------------------
 母艦を表示
 #---------------------------------------
 
 #-----------------------------------------------------------------------
 #以下、関数
 #-----------------------------------------------------------------------
 #イメージ「表示画像」イベント
 ●画像番号チェック(XX,YY)
   MXはINT(XX/アイコンサイズ)
   MYはINT(YY/アイコンサイズ)
   クリック画像はMX+MY+15*MY
 ●画像クリップ(N)
   XXはクリック画像%16*アイコンサイズ
   YYはINT(クリック画像/16)*アイコンサイズ
   加工画像のWはアイコンサイズ
   加工画像のHはアイコンサイズ
   表示画像のXX,YY,アイコンサイズ,アイコンサイズを加工画像の0,0へ画像部分コピー
   加工画像を「クリップボード」に画像保存
   ダイアログタイトルは「コピー完了」
   「座標:{XX}x{YY}から{アイコンサイズ}x{アイコンサイズ}の {クリック画像} 番を{~}クリップボードにコピーしました」をいう
 ●アイコンコピー(マウスX,マウスY)
   ダイアログタイトルは「確認」
   もし、画像追加がオフならば、「リサイズしたため追加できません」という。戻る。
   加工画像のWは保存位置+アイコンサイズ  #領域を拡大
   加工画像を画面クリア          #表示領域を初期化
   保存画像を加工画像の0,0へ画像コピー    #領域を拡大のため待避
   保存画像のWは保存位置+アイコンサイズ  #領域を拡大
   保存画像を画面クリア          #表示領域を初期化
   加工画像を保存画像の0,0へ画像コピー    #戻す
   MXはINT(マウスX/アイコンサイズ)*アイコンサイズ
   MYはINT(マウスY/アイコンサイズ)*アイコンサイズ
   表示画像のMX,MY,アイコンサイズ,アイコンサイズを保存画像の保存位置,0へ画像部分コピー
   保存位置は保存位置+アイコンサイズ    #位置の更新
   DLL画像番号にクリック画像を配列追加
   説明モードは2
 
 #---------------------------------------
 #メニュー「ファイル」イベント
 ●保存処理
   ダイアログタイトルは「確認」
   もし、保存フォルダが空ならば、保存フォルダはマイドキュメント #記憶しておく
   もし、保存位置が0ならば
     「保存トレイに画像がありません」という。戻る
   作業フォルダは保存フォルダ
   「BMP|*.bmp|GIF|*.gif|JPG|*.jpg|PNG|*.png|画像|*.bmp;*.gif;*.ico;*.jpg;*.png|全て|*.*」の保存ファイル選択
   もし、それが空でなければ
     保存画像をそれに画像保存
     「保存しました{~}{~}画像サイズは{~}  W:{保存画像のW}{~}  H:{保存画像のH}」という
     保存名はそれ
     それからパス抽出して、保存フォルダに代入
   説明モードは3
 ●開く処理(ファイル名)
   ダイアログタイトルは「確認」
   もし、ファイル名が空ならば
     もし、開くフォルダが空ならば、開くフォルダはPROGRAMFILESパス #記憶しておく
     作業フォルダは開くフォルダ
     「*.dll;*.exe」のファイル選択して、ファイル名に代入
     もし、それならば、それからパス抽出して、開くフォルダに代入
   もし、ファイル名が空でなければ
     もし、ファイル名のアイコン数取得ならば
       アイコン数はそれ
       もし、アイコン取得制限ならば、TMPはアイコン取得制限。違えば、TMPは無制限
       #0:いいえ 1:はい 2:キャンセル
       「{それ}個のアイコンがあります。{~}{~}」&
       「アイコン取得制限は現在 {TMP} です。{~}」&
       「(無制限とはファイルが持つアイコンすべてです){~}{~}」&
       「チューチューしますか?{~}{~}」&
       「[ はい ]:チューチュー開始{~}{~}」&
       「[いいえ]:アイコン取得制限して開始」で三択
       もし、それが2ならば        #キャンセル:再選択
         もし、ファイル名がウィンアイコンならば、戻る
         開く処理(空)。戻る
       違えば、もし、それが0ならば    #いいえ:アイコン取得制限設定へ
         アイコン取得制限設定
       チューチューファイルはファイル名
       チューチューする
     違えば
       「{ファイル名}{~}このファイルにはアイコンがありませんでした{~}{~}再度選択しますか?」で二択
       もし、それならば、開く処理(空)
 ●チューチューする
   #---------------------------------------
   もし、アイコン取得制限ならば、アイコン総数はアイコン取得制限
   違うならば、チューチューファイルのアイコン数取得してアイコン総数へ代入
   #---------------------------------------
   Xとは整数=16。Yとは整数
   YはINT(アイコン総数/X)  #縦アイコン表示数
   もし、アイコン総数%Xならば、YはY+1
   #---------------------------------------
   表示画像のWはアイコンサイズ*X。表示画像のHはアイコンサイズ*Y
   表示画像を白色で画面クリア
   加工画像のWはアイコンサイズ。加工画像のHはアイコンサイズ
   #---------------------------------------
   表示画像を灰色で画面クリア
   抽出番号とは整数
   抽出停止は0
   Yの回
     もし、抽出停止ならば、抜ける
     NYは(回数-1)*アイコンサイズ
     Xの回
       もし、抽出番号≧アイコン総数||抽出番号≧アイコン数||抽出停止ならば、抽出停止は1。抜ける
       NXは(回数-1)*アイコンサイズ
       加工画像を画面クリア
       加工画像へチューチューファイルの抽出番号をアイコン抽出
       加工画像を表示画像のNX,NYへ画像コピー
       描画処理反映
       情報のテキストは「 {抽出番号+1}/{アイコン総数}を読み込み中 {NX}:{NY}」
       抽出番号は抽出番号+1
   #---------------------------------------
   情報のテキストは「 {抽出番号}/{アイコン総数}を読み込み完了」。
   説明モードは1
 ●アイコン取得制限設定
   「チューチューするアイコン数は?{~}アイコン取得制限は {アイコン取得制限} です(0 で無制限)」で尋ねる
   もし、それならば、アイコン取得制限はそれ。
 
 #---------------------------------------
 #メニュー「表示」イベント
 ●DLLサンプル表示
   もし、画像追加ならば、TMPは1
   違えば、TMPは2
   Sとは配列
   DLL画像番号を反復
     Sに"{対象},ヒント,「ボタン{回数}です」を言う #イベント"を配列追加
   サンプルテキストは、"
 アイコンXとは整数=32 #抽出画像のサイズ
 アイコンYとは整数=32 #抽出画像のサイズ
 DLLFILEとは文字列=「{チューチューファイル}」
 TMPとは文字列
 #辞書です:抽出番号|区切り、ヒント、イベント(命令や関数名)
 アイコン辞書とは配列=『{S}』
 サイズとは整数={TMP} #1:ノーマルの32、2:半分の16ドット(ボタンの最小値みたいです){~}
 #---------------------------------------
 #イメージリストに追加するイメージ
 アイコンズとはイメージ
 これについて、可視はオフ
   Wは(アイコン辞書の配列要素数*アイコンX)
   HはアイコンY
 #---------------------------------------
 #作業用イメージ
 作業画像とはイメージ
 これについて、可視はオフ
   WはアイコンX
   HはアイコンY
 #DLLからn番目のアイコンを抽出
 アイコン辞書の配列要素数の回
   作業画像を画面クリア
   作業画像へDLLFILEのアイコン辞書\(回数-1)\0をアイコン抽出
   作業画像をアイコンズの((回数-1)*アイコンX),0へ画像コピー
 #---------------------------------------
 画像リストとはイメージリスト
 これの画像WはアイコンX/サイズ
 これの画像HはアイコンY/サイズ
 もし、サイズ>1ならば、アイコンズを(アイコンズのW/サイズ),(アイコンズのH/サイズ)で画像リサイズ
 「アイコンズ」を画像リストに追加{~}
 母艦ツールバーとはツールバー
 画像リストを母艦ツールバーの画像設定{~}"&『
 アイコン辞書の配列要素数の回
   #部品名,画像番号,種類(ボタン|区切り),説明,イベント
   もし、アイコン辞書\(回数-1)\0が「区切り」ならば
     TMPに「bar{回数},{回数-1},区切り,{アイコン辞書\(回数-1)\1},{アイコン辞書\(回数-1)\2}」を一行追加
   違えば
     TMPに「btn{回数},{回数-1},ボタン,{アイコン辞書\(回数-1)\1},{アイコン辞書\(回数-1)\2}」を一行追加
 TMPで母艦ツールバーの一括作成
 母艦ツールバーのHは(アイコンY/サイズ)+10 #★上の一括作成後でないと効かないみたいです
 』
   サンプル表示後処理
 ●IMGサンプル表示
   サンプルテキストは、
   「画像リストとはイメージリスト{~}これについて{~}」&
   「母艦ツールバーとはツールバー{~}これについて{~}」&
   「  画像リストを母艦ツールバーに画像設定{~}」&
   「  これに『{~}』をツールボタン一括作成{~}{~}」
   もし、保存名が空ならば
     ダイアログタイトルは「保存トレイの画像を保存をしてください」
     保存名は「手動の場合このカッコに画像パス名を書いてください」
   違えば、ダイアログタイトルは「なでしこにコピペしてテストできます」
   もし、保存位置≦アイコンサイズならば
     サンプルテキストの2に『  「』&保存名&『」を追加』&改行を配列挿入
     サンプルテキストの7に「icon1」&『,0,ボタン,ヒントを書く,「アイコン」を言う #イベント』を配列挿入
   違えば
     Sとは配列
     サンプルテキストの2に『  「』&保存名&『」を一括追加』&改行を配列挿入
     保存位置/アイコンサイズの回
       Sに「icon{回数},{回数-1},ボタン,ヒントを書く,」&『「ボタン』&「{回数}」&『です」を言う #イベント』を一行追加
     サンプルテキストの7にSを配列一括挿入
   もし、保存画像のH>16ならば
     サンプルテキストの2に「  画像Wは{アイコンサイズ}{~}  画像Hは{保存画像のH}」を配列一括挿入
     サンプルテキストの7に「  Hは{保存画像のH+10}」を配列挿入
   サンプル表示後処理
 ●サンプル表示後処理
   もし、サンプルテキストをメモ記入ならば
     TMPはそれ
     もし、それがサンプルテキストでないならば、サンプルテキストはTMP
     もし、「クリップボードにコピーしますか?」で二択ならば、サンプルテキストをコピー
   もし、「テスト実行してみますか?」で二択ならば、テスト実行処理
 ●テスト実行処理
   もし、サンプルテキストが空ならば
     「一度テキスト生成をしてください」をいう。戻る
   「ファイルは"」&母艦パス&「cyucyutest.nako"です」をいう
   TMPは母艦パス&「cyucyutest.nako」
   Sはサンプルテキスト
   SをTMPへ保存
   「"{ランタイムパス}vnako.exe" "{TMP}"」を起動
 ●保存フォーム処理
   もし、保存フォームの可視がオンならば
     保存フォームの可視はオフ
     便利の親部品は母艦
   違えば
     保存フォームの可視はオン
     便利の親部品は保存フォーム
 ●画像縮小
   ダイアログタイトルは「確認」
   もし、「リサイズすると画像追加はできなくなります{~}よろしいですか?」で二択ならば
     保存画像を保存画像のW/2,保存画像のH/2で画像リサイズ
     画像追加はオフ
 ●画像初期化
   保存画像のHはアイコンサイズ
   保存画像のWはアイコンサイズ
   保存画像を灰色で画面クリア
   保存位置は0
   画像追加はオン
   DLL画像番号は空
   説明モードは1
 
 #---------------------------------------
 #メニュー「ヘルプ」イベント
 ●簡易説明
   ヘルプフォームの可視はXOR(ヘルプフォームの可視,1)
   戻る
 #-----------------------------------------------------------------------
 #ヘルプブラウザフォーム関連
 ヘッダとは文字列
 トップとは文字列
 インデックスとは文字列
 LINKとは配列
 #-----------------------------------------------------------------------
 ヘッダは『
 <style\stype=\dtext/css\d>\n<!--\n\ta\s{text-decoration:\snone}\n\ta:link\s{colo
 r:#0000FF}\n\ta:visited\s{color:#0000FF}\n\ta:active\s{color:#FF0000}\n\ta:hover
 \s{color:#FF0000}\n\t.line150\s{line-height:150%}\n\t.line120\s{line-height:120%
 }\n\t.index\s{line-height:120%;font-size:9pt}\n\t.textmin\s{font-size:8pt}\n\tbo
 dy\ctd\s{font-size:10pt;line-height:130%}\n-->\n</style>\n』をテキスト復元
 #---------------------------------------
 トップは『
 <html>\n<head>\n<meta\shttp-equiv=\dContent-Type\d\scontent=\dtext/html;\scharse
 t=Shift_JIS\d>\n<style\stype=\dtext/css\d>\n<!--\n\ta\s{text-decoration:\snone}\
 n\ta:link\s{\scolor:\s#000000;\s}\n\ta:visited\s{\scolor:\s#000000;\s}\n\ta:acti
 ve\s{\scolor:\s#000000;\s}\n\ta:hover\s{color:\s#FF0000}\n\tbody\s{font-size:\s1
 0pt;line-height:\s130%;}\n-->\n</style>\n</head>\n<body>\n<table\sborder=\d0\d\s
 cellspacing=\d0\d\scellpadding=\d0\d>\n\t<tr>\n\t\t<td><a\shref=\dabout:blank\d\
 starget=\dmainFrame\d\sonClick=\dparent.link(1);return\sfalse;\d\stitle=\dはじめ
 に\d><font\sface=\dMS\sPゴシック\c\sOsaka\d><b>アイコンチューザー</b></font><
 /a></td>\n\t\t<td> <a\shref=\dabout:blank\d\starget=\dmainFrame\d\sonClick=\dpa
 rent.link(7);return\sfalse;\d\stitle=\d更新履歴\d>Ver.0.82</a></td>\n\t</tr>\n\t
 <tr>\n\t\t<td><font\scolor=\d#666666\d\ssize=\d2\d><b>ICON\sCHOOSER</b></font>\s
 </td>\n\t\t<td> </td>\n\t</tr>\n</table>\n</body>\n</html>\n』をテキスト復元
 #---------------------------------------
 #インデックス
 LINK[0]は『
 <body>\n<a\shref=\dabout:blank\d\starget=\dmainFrame\d\sonClick=\dparent.link(2)
 ;return\sfalse;\d>使い方</a><br>\n<hr>\nメニュー<br>\n・<a\shref=\dabout:blank\d
 \starget=\dmainFrame\d\sonClick=\dparent.link(3);return\sfalse;\d>ファイル</a><b
 r>\n・<a\shref=\dabout:blank\d\starget=\dmainFrame\d\sonClick=\dparent.link(4);r
 eturn\sfalse;\d>表示</a><br>\n・<a\shref=\dabout:blank\d\starget=\dmainFrame\d\s
 onClick=\dparent.link(5);return\sfalse;\d>ヘルプ</a><br>\n<hr>\n<a\shref=\dabout
 :blank\d\starget=\dmainFrame\d\sonClick=\dparent.link(6);return\sfalse\d>謝辞</a
 
     <br>\n</body>\n』をテキスト復元
 
 #---------------------------------------
 #はじめに
 LINK[1]は『
 <body>\n<p><b>はじめに</b><hr>\nアイコンチューザーはプログラムファイル(EXE)やDL
 Lの中に格納されているアイコンを抽出して、好きなアイコンでツールボタンを作れます
 。<br>\n<br>\n<b>■何が「なでしこ支援」か?</b><br>\n<b>簡単にツールボタンの作成
 をお手伝いするプログラムです。</b><br>\n1.EXEやDLLからアイコンを抽出できます。
 <br>\n2.抽出したアイコンを保存できます。<br>\n<br>\n<b>なでしこプログラムテキ
 ストの生成機能</b><br>\n1.イメージファイルからツールバーのテキストを生成します
 。<br>\n2.DLL等から直接抽出してツールバーのテキストを生成します。<br>\n<br>\n
 アイコンチューザーが皆さんの何かのお役に立てたら幸いです。<br>\n</p>\n<p\salign=
 \dright\d>2005年\s8月\s4日 のんきなおやじ</p>\n</body>\n』をテキスト復元
 #---------------------------------------
 #使い方
 LINK[2]は『
 <body>\n<p><b>使い方</b><hr>\n<b>1.</b>ファイルメニューからウィンドウズアイコ
 ンか、任意のファイルからアイコンを抽出してください。<br>\n<br>\n<b>2.</b>抽出
 されたアイコンをマウスでダブルクリックして、保存トレイに追加していきます。<br>\n
 追加順がツールバーの順になります。<br>\n<br>\n※この時点で、メニューの表示>テキ
 スト生成>DLL抽出タイプで、なでしこエディタに貼り付けてテストできます。<br>\n<br
 
     \n<b>3.</b>ファイルメニューの「アイコン画像の保存」で保存トレイの画像を保存し
 
 ます。<br>\n<br>\n※この時点で、メニューの表示>テキスト生成>画像読込みタイプで
 、なでしこエディタに貼り付けてテストできます。<br>\n<br>\n<b>4.</b>表示メニュ
 ーの「テキスト生成」で、なでしこエディタに貼り付けてください。<br>\n<br>\n<font\
 scolor=\dred\d>注意</font>:市販品から抽出したアイコンには著作権等があると思いま
 すので、プログラムテストや個人で楽しむ以外には使わないほうがよいでしょう。<br>\n
 <br>\n</p>\n</body>\n』をテキスト復元
 #---------------------------------------
 #ファイル
 LINK[3]は『
 <body>\n<p><b>ファイル</b><hr>\n◆アイコン画像を保存<br>\n保存トレイの画像を保存
 できます。<br>\nメニューの表示の「テキスト生成」と合わせてお使いください。<br>\n
 <br>\n◆WINDOWSアイコンをチューチューする<br>\nウィンドウズのシェルDLLからアイコ
 ンを取得します。<br>\n皆さんがよく目にするアイコンが入っています。<br>\n<br>\n◆
 その他のアイコンをチューチューする<br>\nソフトウェアのDLLやEXEファイルからアイコ
 ンを取得します。<br>\n<br>\n◆閉じる</a><br>\nアイコンチューザーを終了します。<b
 r>\n</p>\n</body>\n』をテキスト復元
 #---------------------------------------
 #表示
 LINK[4]は『
 <body>\n<p><b>表示</b><hr>\n<b>◆テキスト生成</b><br>\nなでしこ用プログラムテキ
 ストを生成します。<br>\n<br>\n <b>・DLL抽出タイプ</b><br>\n ローカルから直接抽
 出してテキスト生成します。<br>\n<br>\n <b>・画像読込みタイプ</b><br>\n 作った
 画像ファイルからテキスト生成します。<br>\n<br>\n <b>・テスト実行</b><br>\n 生
 成したテキストを保存し、なでしこで実行します。<br>\n ※ファイル名は「cyucyutest
 .nako」です。<br>\n<br>\n<b>◆保存トレイを出す/格納</b><br>\n保存トレイを母艦外
 に出し入れできます。<br>\nディスクトップが十分広い場合は、出すことで、抽出アイコ
 ン表示領域が広がります。<br>\nまた、直接マウスでダブルクリックすることで出し入れ
 できます。<br>\n<br>\n<b>◆2/1にリサイズ</b><br>\nイメージメニューのアイコンのデ
 フォルトは32x32ドットです。<br>\nそのアイコンを16x16ドットにしたい場合に使います
 。<br>\n必要なアイコンを保存トレイに登録した後に使います。<br>\n<br>\n<b>◆保存
 トレイを初期化</b><br>\n保存順を間違えた場合に使います。<br>\n<br>\n<b>◆アイコ
 ン取得制限</b><br>\nEXEやDLL等から抽出するアイコンを最初の10個等と制限できます。
 <br>\n</p>\n</body>\n』をテキスト復元
 #---------------------------------------
 #ヘルプ
 LINK[5]は『
 <body>\n<p><b>ヘルプ</b><hr>\nこのヘルプです。^^;<br>\n</body>\n
 』をテキスト復元
 #---------------------------------------
 #謝辞
 LINK[6]は『
 <body>\n<p><b>謝辞</b><hr></p>\n<p>このプログラムは、なでしこのホームページの質
 問掲示板から派生したものです。\n<a\shref=\dhttp://www.himanavi.net/cgi/010/cbbs.
 cgi?mode=all&namber=1867&type=0&space=0&no=0\d\starget=\d_blank\d>質問掲示板への
 リンク\s(IEで開きます)</a><br></p>\n<p>優れたプログラム掲示板や質問掲示板をサン
 プルに、または精鋭人に助けられ、完成にこぎつけることができました。<br>\n皆さんに
 感謝いたします。</p>\n<p>日本語プログラミング言語「なでしこ」は最高です。<br>\n
 作者のクジラ飛行机さんに感謝いたします。</p>\n</body>\n』をテキスト復元
 #---------------------------------------
 #更新履歴
 LINK[7]は『
 <body>\n<p><b>更新履歴</b><hr>\n<table>\n<tr>\n\t<td\svalign=\dtop\d\snowrap>10/
 07</td>\n\t<td>\n\t\t◆直接DLL抽出してテキスト生成する機能を追加<br>\n\t\t◆テキ
 ストをローカルに保存しvnako.exeでテスト実行出来るようにしました。<br>\n\t\t◆ヘ
 ルプ(ブラウザ)を追加(このヘルプです)<br><br>\n\t\t</td>\n</tr>\n<tr>\n\t<td\
 svalign=\dtop\d\snowrap>08/06</td>\n\t<td>\n\t\t◆保存トレイを母艦内に格納<br>\n
 \t\t以前の修正で保存トレイの座標を0\c0にしましたが、母艦に格納し、「ダブルクリッ
 クで出し入れ」できるようにしました。<br><br>\n\t\t◆変数名の変更や用語の書き換え
 を少々いじりました。(^^;<br><br>\n\t</td>\n</tr>\n<tr>\n\t<td\svalign=\dtop\
 d\snowrap>08/05</td>\n\t<td>\n\t\t◆自宅のノートPC(1280x600画面)で、保存トレイ
 が画面外にセットされるのを見て座標0\c0をデフォルトに修正しました。<br>\n\t\tこれ
 は、スクロールパネルが実装されたので、後々母艦内に組み込むかもしれません。<br><b
 r>\n\t\t◆Windowsの動作確認の提供を受け、shell.dllをOSごとに場所の分岐を追加。<b
 r>\n\t\tこれで動作確認がWin98以降となりました。(^^<br><br>\n\t</td>\n</tr>\n<
 /table>\n</p>\n</body>\n』をテキスト復元
 #---------------------------------------
 LINKの要素数の回
   インデックスはインデックス&「DATA[{回数-1}]='」&LINK[回数-1]&「';」&改行
 #---------------------------------------
 TOPは『
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
 <title></title>
 <script language="JavaScript" type="text/JavaScript">
 <!--
 HEADER='<html>\n<head>\n<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">\n』&ヘッダ&『</head>\n';
 DATA = new Array();
 』&インデックス&『
 function init(){
   window.topFrame.document.open();
   window.topFrame.document.writeln('』&トップ&『');
   window.topFrame.document.close();
   window.leftFrame.document.open();
   window.leftFrame.document.writeln(HEADER);
   window.leftFrame.document.writeln(DATA[0]);
   window.leftFrame.document.writeln('</html>');
   window.leftFrame.document.close();
   link(1);
 }//End func
 function link(n){
   top.mainFrame.location.href="about:blank";
   if (!n){n=0}
   top.mainFrame.document.open();
   top.mainFrame.document.writeln(HEADER);
   top.mainFrame.document.writeln(DATA[n]);
   top.mainFrame.document.writeln('</html>');
   top.mainFrame.document.close();
 }//End func
 </script>
 </head>
 <frameset rows="60,*" cols="*" framespacing="5" frameborder="yes" border="5" bordercolor="#666666" onLoad="init()">
   <frame src="about:blank" name="topFrame" scrolling="no" noresize >
   <frameset cols="80,*" framespacing="5" frameborder="yes" border="5" bordercolor="#CCCCCC">
     <frame src="about:blank" name="leftFrame" scrolling="no">
     <frame src="about:blank" name="mainFrame">
   </frameset>
 </frameset>
 <noframes><body>
 </body></noframes>
 </html>
 』。ヘルプブラウザのテキストはTOP
 #---------------------------------------
 ●テキスト復元(Sを)
   もし、Sが空ならば、戻る
   SはSの改行を空へ正規表現置換
   #SはSの「\\t」を「\\\\t」へ正規表現置換 #JavaScriptで対応
   #SはSの「\\n」を「\\\\n」へ正規表現置換 #JavaScriptで対応
   SはSの「\\s」を「 」へ正規表現置換
   SはSの「\\d」を「"」へ正規表現置換
   SはSの「\\c」を「,」へ正規表現置換
   それはS
 #-----------------------------------------------------------------------
 #★ここまで
 
 #おそまつ。。。 

----
#comment()

----
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。