/* プログラム板で使われたAPIなどを一つにまとめ、使いやすくしました。 「このAPIも入れてほしい」といった要望があれば、どんどん言ってください。 可能な限り対処いたします。 関数の戻り値は、APIの戻り値に関係なく、正常終了の時に1、エラーの時に0を返すようにしています。 フラグを文字列で指定する時は、カギ括弧で囲んでください。変数による定義から、関数の内部での置換による定義に変更しました。 (エラー"リストインデックスの範囲を超えています"を避けるため) 誰かヘルプのうまい実装方法を教えてください・・・*/ ※※※※※※※※※※※※※※※ ※※※※※関数リスト※※※※※ ※※※※※※※※※※※※※※※ /* 戻り値 関数名(引数)(型) string 進数変換(?を, ?から, ?へ)(int, int, int) bool フルパス(?が)(str) それ 母艦移動(void) bool キー状態取得(?の)(int) それ ポップアップに設定(?を)(obj) それ ポップアップ表示(void) int メッセージボックス(?を, ?の, ?で)(str, str, int) string MIDI変換(?を, ?に)(str, str) str[] ドライブ列挙(void) bool バージョン表示(?の, ?を, ?アイコンで)(str, str, int) DWORD カーソル変更(?に)(int) bool ごみ箱空(?で, ?ドライブの)(int, char) DWORD インスタンスハンドル取得(void) string エラーメッセージ取得(void) DWORD 特殊アイコン描画(?の, ?, ?に, ?の)(obj, int, int, str) DWORD 関連付けアイコン描画(?の, ?, ?に, ?の)(obj, int, int, str) string 環境変数取得(?の)(str) string クリップボードフォーマット取得(void) int[] ジョイパッド操作取得(void) string 押されたジョイパッドボタン取得(void) それ マウス右クリック(void) それ マウスホイールクリック(void) それ マウスドラッグ(?から, ?へ)(xy, xy) それ マウス右ドラッグ(?から, ?へ)(xy, xy) bool 壁紙変更(?に)(str) DWORD ポインタ取出(?の)(var) string ポインタ読(?を, ?バイト)(var, int) bool ネットワークドライブ接続(?に, ?を, ?の, ?として)(str, str, str, str) bool ネットワークドライブ切断(?の)(str) それ 構造体設定(?の, ?を, ?に)(var, var, var) str[] 構造体展開(?の, ?を, ?に)(var, var, var) DWORD ステータスバー作成(?の)(str) それ ステータスバー分割(?を, ?に)(obj, int[1][]) それ ステータスバーテキスト設定(?の, ?番目を, ?に)(obj, int, str) それ ステータスバーリサイズ(?の)(obj) bool 小さいアイコン描画(?に, ?の, ?を)(obj, str, int) bool ベジェ曲線(?に,?を)(obj, xy[4*n]) bool シャットダウン(void) bool 再起動(void) bool ログオフ(void) string リンク先取得(?の)(str)*/ 関数ライブラリバージョン=2.90 /*ひまわり関数ライブラリ Powered By tomo 更新履歴 ver2.90 使用するDLLを更新 ver2.81 「ベジェ曲線」追加 ver2.80 「小さいアイコン描画」追加 ver2.71 関数リスト追加。 ver2.70 ステータスバー関係追加 ver2.60 「構造体設定」「構造体展開」追加 ver2.51 「ネットワークドライブ接続」「ネットワークドライブ切断」追加 ver2.50 「ポインタ取出」「ポインタ読」追加 ver2.41 「バージョン表示」のバグ修正 ver2.40 「マウス右クリック」「マウスホイールクリック」「マウスドラッグ」追加 ver2.30 デバッグダイアログに出てくるヘルプ変数がウザイのでヘルプ削除 ver2.22 「ジョイパッド操作取得」「押されたジョイパッドボタン」追加 ver2.21 「進数変換」を「基数変換」に名称変更 ver2.20 「ドライブ列挙」修正・簡易ヘルプ追加 ver2.10 PowerOffForHimawari.dllを変更。 ver2.00 内部関数名変更 ver1.44 「環境変数取得」「クリップボードフォーマット取得」追加 ver1.43 フラグの内部での指定方法変更・「関数ライブラリバージョン」追加 ver1.42「フルパス」修正 「特殊アイコン描画」「関連付けアイコン描画」追加 ver1.41 「ダウンロード」「ウィンドウズ終了」削除・変数「関数ライブラリバージョン」追加 ver1.40 「シャットダウン」「ログオフ」「再起動」(NT系OK)追加 ver1.32 「フルパス」追加 ver1.31 フラグの定義方法変更 ver1.30 「ごみ箱を空にする」「エラーメッセージ取得」追加 ver1.20 「ドライブ列挙」「リンク先取得」修正 ver1.10 「バージョン表示」「カーソル変更」追加 ver1.01 戻り値の統一 ver1.00 とりあえず公開。*/ *関数定義@関数ライブラリ 定数定義。 "基数変換"を、"?を,?から,?へ"で、関数定義。 "進数変換"を、""で、関数定義。 /*使用法 与えられた数を、?進数に変換します。  書式  :(変換元の数値)を、(変換前の進数)から、(変換先の進数)へ、基数変換。  戻り値 :変換した結果 サンプル:1201を、3から、2へ、基数変換。//2・3番目の引数は、2から10を指定します。*/ "shlwapi.dll"の、"BOOL PathIsRelativeA(char*)"を、"?"の、"PathIsRelative"として、DLLを利用。 "フルパス"を、"?が"で、関数定義。 /*使用法 与えられた文字列が、フルパスのファイル名かどうか判断します。  書式  :「ファイル名」が、フルパス。  戻り値 :フルパスのファイル名の時のみ1、それ以外(存在しない、相対パス)の時は0を返します。  サンプル:「ファイル名を入力してください」と、尋ねる。 もし、フルパスか(それ)でなければ、「フルパスで入力してください」と、言う。*/ "user32.dll"の、"WORD GetKeyState(int)"を、"?"の、"GetKeyState"として、DLLを利用。 "キー状態取得"を、"?の"で、関数定義。 /*使用法 キーコードで指定したキーが、押されているかどうか判断します。  書式  :(キーコード)の、キー状態取得。  戻り値 :キーが押されていれば1、押されてなければ0  サンプル:13{Enter}の、キー状態取得。*/ "user32.dll"の、"BOOL ReleaseCapture(VOID)"を、""の、"ReleaseCapture"として、DLLを利用。 "母艦移動"を、""で、関数定義。 /*使用法 タイトルバー以外の場所のドラッグで、母艦を移動します。  書式  :母艦移動。  戻り値 :エラーが発生した時は0、正常終了の時は1  サンプル:母艦の、マウス押した時は、母艦移動。*/ "user32.dll"の、"int GetMenu(int)"を、"?"の、"GetMenu"として、DLLを利用。 "user32.dll"の、"int GetSubMenu(int,int)"を、"?,?"の、"GetSubMenu"として、DLLを利用。 "ポップアップに設定"を、"?を"で、関数定義。 /*使用法 一番初めに作ったメニューを、ポップアップメニューとして設定します。  書式  :「メニュー名」を、ポップアップに設定。  戻り値 :ポップアップメニューのメニューハンドル  サンプル:ポップアップメニューを、メニュー作成。 ひまわりメニューを、メニュー追加。 終了メニューを、メニュー追加。 「ポップアップメニュー」を、ポップアップに設定。*/ "user32.dll"の、"int GetCursorPos(char*)"を、"?"の、"GetCursorPos"として、DLLを利用。 "user32.dll"の、"BOOL TrackPopupMenu(int,int,int,int,int,int,int)"を、"?,?,?,?,?,?,?"の、"TrackPopupMenu"として、DLLを利用。 "ポップアップ表示"を、""で、関数定義。 /*使用法 ポップアップに設定したメニューを、ポップアップ表示します。  書式  :ポップアップ表示。  戻り値 :エラーが発生した場合は0、正常終了の時は1  サンプル:母艦の、クリックした時は、もし、押された特殊キー="Right"ならば、ポップアップ表示。*/ "user32.dll"の、"WORD MessageBoxA(int,char*,char*,int)"を、"?,?,?,?"の、"MessageBox"として、DLLを利用。 "メッセージボックス表示"を、"?を,?の,?で"で、関数定義。 "メッセージボックス"を、"?を,?の,?で"で、関数定義。 /*使用法 ダイアログを表示します。(フラグについては、定数定義を参照してください。)  書式  :「表示文字列」を、「ダイアログのタイトル」の、(フラグ)で、メッセージボックス。  戻り値 :押されたボタンの識別番号(定数定義参照) サンプル:「ダイアログボックス」を、「テスト」の、「MB_OKCANCEL」で、メッセージボックス。 「{それ}」を、「ひまわり」の、4で、メッセージボックス。*/ "dSakura.dll"の、"DWORD MMLtoMIDI(char*,char*,char*)"を、"?,?,?"の、"MMLtoMIDI"として、DLLを利用。 "MIDI変換"を、"?を,?に"で、関数定義。 /*使用法 MMLをMIDIに変換します。(使ったことないのでよくわからない)  書式  :「MMLファイル名」を、「MIDIファイル名」に、MIDIに変換。  戻り値 :エラーが発生した時はエラーコード、正常終了の時は空文字列  サンプル:「ストトン表記.mml」を、「ミディ.mid」に、MIDI変換。*/ "kernel32.dll"の、"DWORD GetLogicalDrives(void)"を、""の、"GetLogicalDrives"として、DLLを利用。 "ドライブ列挙"を、""で、関数定義。 /*使用法 現在使用可能なドライブを列挙します。  書式  :ドライブ列挙。 戻り値 :現在使用可能なドライブ(配列形式) サンプル:もし、(ドライブ列挙#0!&"A:")ならば、「フロッピーディスクが入っていません。」と、言う。*/ "shell32.dll"の、"int ShellAboutA(int,char*,char*,int)"を、"?,?,?,?"の、"ShellAbout"として、DLLを利用。 "user32.dll"の、"int LoadIconA(int,int)"を、"?,?"の、"LoadIcon"として、DLLを利用。 "バージョン表示"を、"?の,?を,?アイコンで"で、関数定義。 /*使用法 M$標準のバージョン情報ダイアログを表示します。アイコン識別名は定数定義参照。  書式  :「タイトル」の、「著作権情報など」を、(アイコンの識別名)アイコンで、バージョン表示。 戻り値 :エラーが発生した時は0、正常終了の時は1 サンプル:「関数ライブラリ」の、「このプログラムの著作権はtomoが保有しています。」を、「IDI_APPLICATION」アイコンで、バージョン表示。*/ "user32.dll"の、"int LoadCursorA(int,int)"を、"?,?"の、"LoadCursor"として、DLLを利用。 "user32.dll"の、"int SetCursor(int)"を、"?"の、"SetCursor"として、DLLを利用。 "カーソル変更"を、"?に"で、関数定義。 /*使用法 カーソルを変更します。カーソルの識別名は定数定義参照。  書式  :(カーソル識別名)に、カーソル変更。  戻り値 :変更前のカーソルハンドル サンプル:ジャンプラベルを、作る。 その、マウス動かした時は、「IDC_HAND」に、カーソルを変更。*/ "shell32.dll"の、"int SHEmptyRecycleBinA(int,char*,int)"を、"?,?,?"を、"SHEmptyRecycleBin"として、DLLを利用。 "ごみ箱空"を、"?で,?ドライブの"で、関数定義。 /*使用法 指定したドライブのごみ箱を空にします。フラグは定数定義参照。  書式  :(フラグ)で、「ドライブ文字」ドライブの、ごみ箱空。 戻り値 :エラーが発生した時は0、正常終了の時は1 サンプル:「HERB_NOCONFIRMATION」で、「C」ドライブの、ごみ箱を空にする。*/ "user32.dll"の、"DWORD GetWindowLongA(int,int)"を、"?,?"の、"GetWindowLong"として、DLLを利用。 "インスタンスハンドル取得"を、""で、関数定義。 "インスタンスハンドル"を、""で、関数定義。 /*使用法 インスタンスハンドルを取得します。  書式  :インスタンスハンドル。 サンプル:インスタンスハンドルを、表示。*/ "kernel32.dll"の、"DWORD GetLastError(void)"を、""の、"GetLastError"として、DLLを利用。 "kernel32.dll"の、"DWORD FormatMessageA(DWORD,char*,DWORD,DWORD,char*,DWORD,char*)"を、"?,?,?,?,?,?,?"の、"FormatMessage"として、DLLを利用。 "エラーメッセージ取得"を、""で、関数定義。 "エラーコード"を、""で、関数定義。 /*使用法 最後に使ったAPIのエラーメッセージを取得します。  書式  :エラーメッセージ取得。 戻り値 :エラーが発生した時は0、正常終了の時はエラーメッセージ//なんかおかしいですね。 サンプル:エラーメッセージを取得して、言う。*/ "shell32"の、"DWORD SHGetFileInfo(char*,DWORD,char*,DWORD,DWORD)"を、"?,?,?,?,?"の、"SHGetFileInfo"として、DLLを利用。 "user32"の、"DWORD DrawIcon(DWORD,int,int,DWORD)"を、"?,?,?,?"の、"DrawIcon"として、DLLを利用。 "特殊アイコン描画"を、 "?の,?,?に,?の"で、関数定義。 "関連付けアイコン描画"を、"?の,?,?に,?の"で、関数定義。 /*使用法 ※watara様感謝!! 第三引数に指定された「拡張子の関連付けアイコン」または「ドライブ・特殊フォルダのアイコン」をイメージ(母艦・フォーム不可)に描画します。  書式  :「イメージ」の、X,Yに、「拡張子」を、関連付けアイコン描画。      「イメージ」の、X,Yに、「特殊フォルダ」を、特殊アイコン描画。 戻り値 :エラーが発生した時は0、正常終了の時はアイコンハンドル  サンプル:イメージを、作る。      「イメージ」の、0,0に、「txt」を、関連付けアイコン描画。 「イメージ」の、32,0に、「C:\\」を、特殊アイコン描画*/ "kernel32.dll"の、"DWORD GetEnvironmentVariableA(char*,char*,DWORD)"を、"?,?,?"の、"GetEnvitonmentVariable"として、DLLを利用。 "環境変数取得"を、"?の"で、関数定義。 /*使用法 引数に指定された環境変数の値を取得します。  書式  :「環境変数」の、環境変数取得。  戻り値 :環境変数の値。指定された環境変数が存在しない場合は空文字列。  サンプル:"programfiles"の、環境変数取得。*/ "user32.dll"の、"BOOL OpenClipboard(DWORD)"を、"?"の、"OpenClipboard"として、DLLを利用。 "user32.dll"の、"BOOL CloseClipboard(void)"を、""の、"CloseClipboard"として、DLLを利用。 "user32.dll"の、"DWORD EnumClipboardFormats(DWORD)"を、"?"の、"EnumClipboardFormats"として、DLLを利用。 "クリップボードフォーマット取得"を、""で、関数定義。 /*使用法 クリップボードのデータ形式を取得します。  書式  :クリップボードフォーマット取得。  戻り値 :フォーマットを示す文字列  サンプル:メモを、作る。 もし、(クリップボードフォーマット取得=&"TEXT")ならば、メモの、テキストは、開く(クリップボード)。 違えば、「メモに表示できないデータです」と、言う。*/ "winmm.dll"の、"DWORD joyGetPos(DWORD,char*)"を、"?,?"の、"joyGetPos"として、DLLを利用。 "ジョイパッド操作取得"を、""で、関数定義。 "押されたジョイパッドボタン"を、""で、関数定義。 "押されたジョイパッドボタン取得"を、""で、関数定義。 /*使用法 ジョイパッドの状態を取得します。「押されたジョイパッドボタン」と「押されたジョイパッドボタン取得」は同じです。  書式  :ジョイパッド操作取得 or 押されたジョイパッドボタン取得  戻り値 :ジョイパッド操作取得:JOYINFO構造体配列(wXpos,wYpos,wZpos,wButton)      押されたジョイパッドボタン:押されたボタンの32桁ビット配列  サンプル:ラベルを、作る。        1で、ループ( ジョイパッド操作取得。 ラベルの、テキストは、それ。 0.1秒、待つ。 )*/ "user32.dll"の、"void mouse_event(DWORD,DWORD,DWORD,int,DWORD)"を、"?,?,?,?,?"の、 "mouse_event"として、DLLを利用。 "マウス右クリック"を、""で、関数定義。 "マウスホイールクリック"を、""で、関数定義。 "マウスドラッグ"を、"?から,?へ"で、関数定義。 "マウス右ドラッグ"を、"?から,?へ"で、関数定義。 /*使用法 マウス操作をエミュレートします。※SNJ様感謝!  書式  :マウス右クリック or マウスホイールクリック or (X,Y)から、(X,Y)へ、マウスドラッグ。 or (X,Y)から、(X,Y)へ、マウス右ドラッグ。  戻り値 :元の「それ」の値 サンプル:((母艦の、X)+20,(母艦の、Y)-10)から、((母艦の、X)+70,(母艦の、Y)+50)へ、マウスドラッグ。*/ "user32.dll"の、"DWORD SystemParametersInfoA(DWORD,DWORD,char*,DWORD)"を、"?,?,?,?"の、"SystemParametersInfo"として、DLLを利用。 "壁紙変更"を、"?に"で、関数定義。 /*使用法 デスクトップの壁紙を変更します。  書式  :「ファイル名」に、壁紙変更。 戻り値 :エラーが発生した時は0、正常終了の時は1  サンプル:ランタイムのパス&"himawari.jpg"に、壁紙変更。*/ "crtdll.dll"の、"int sprintf(char*,char*,char*)"を、"?,?,?"の、"sprintf1"として、DLLを利用。 "crtdll.dll"の、"int sprintf(char*,char*,DWORD)"を、"?,?,?"の、"sprintf2"として、DLLを利用。 "crtdll.dll"の、"int strtol(char*,char*,DWORD)"を、"?,?,?"の、"strtol"として、DLLを利用。 "ポインタ取出"を、"?の"で、関数定義。 "ポインタ読"を、"?を,?バイト"で、関数定義。 /*使用法 ひまわりでは隠蔽されているポインタの操作をするための関数です。  書式  :「変数」の、ポインタ取出。 and 「変数」を、(サイズ)バイト、ポインタ読。  戻り値 :ポインタ取り出し → 変数のアドレス  ポインタ読む → ポインタの内容  サンプル:変数は、"文字列"。"変数"の、ポインタ取り出して、表示。"それ"を、10バイト、ポインタ読んて、表示。 ※ポインタを取り出す時は、必ず「それ」以外の変数に格納してからにしてください。  また、ポインタ取り出した後に変数の内容を書き換えるとポインタアドレスが無効になります。*/ "mpr.dll"の、"DWORD WNetAddConnection2A(char*,char*,char*,DWORD)"を、"?,?,?,?"の、"WNetAddConnection2"として、DLLを利用。 "mpr.dll"の、"DWORD WNetCancelConnection2A(char*,DWORD,DWORD)"を、"?,?,?"の、"WNetCancelConnection2"として、DLLを利用。 "ネットワークドライブ接続"を、"?に,?を,?の,?として"で、関数定義。 "ネットワークドライブ切断"を、"?の"で、関数定義。 /*使用法 ネットワークドライブを接続・切断します。  書式  :「ドライブ」に、「ネットワークパス」を、「パスワード」の、「ユーザー名」として、ネットワークドライブ接続。 and 「ドライブ」の、ネットワークドライブ切断。  戻り値 :エラーが発生した時は0、正常終了の時は1 サンプル:"B:"に、"\\\\foo\\bar"を、"hoge"の、"fuga"として、ネットワークドライブ接続。       "explorer b:"を、起動。       "B:"の、ネットワークドライブ切断。*/ "構造体設定"を、"?の,?を,?に"で、関数定義。 /*使用法 ハッシュで設定された構造体データを、バイナリとして擬似構造体に設定します。  書式  :「構造体テーブル」の、「構造体データ」を、「構造体バイナリ」に、構造体設定。 戻り値 :元の「それ」の値 サンプル:POINT構造体は、"x,1,int\ny,5,int\n8"       poの、xは、40 poの、yは、35 "POINT構造体"の、"po"を、"POINT"に、構造体設定。 POINTの、1を、"int"形式で、バイナリ取得して、表示。 POINTの、5を、"int"形式で、バイナリ取得して、表示。 ※注意事項 扱える型は、char,BYTE,WORD,int,DWORD,char[],void*です。 文字列そのものを設定する時はchar[]を使い、ポインタを設定する時はvoid*を使ってください。 また、構造体テーブルの最後に、その構造体のサイズを指定しておいてください。 構造体にポインタを設定する時は、必ず設定したいデータを変数に入れ、構造体データにはその変数名を指定してください。 例 構造体テーブルは、"lpStr,1,void*\ndwFlags,5,DWORD\nlpCommand,9,char[]\n50" 変数は、「文字列」 構造体データの、lpStrは、「変数」 構造体データの、dwFlagsは、100 構造体データの、lpCommandは、「文字」 「構造体テーブル」の、「構造体データ」を、「構造体バイナリ」に、構造体設定。 構造体データは、「」*/ "構造体展開"を、"?の,?を,?に"で、関数定義。 /*擬似構造体データを、ハッシュ形式・配列形式で読み取ります。  書式  :「構造体テーブル」の、「構造体バイナリ」を、「構造体データ」に、構造体展開。  戻り値 :「構造体バイナリ」の内容(配列形式)  サンプル:「POINT構造体」の、「POINT」を、「po」に、構造体展開。       表示。poの、xを、表示。poの、yを、表示。 ※構造体テーブルの指定の仕方は構造体設定と同じです。 また、構造体の関数はまだ不完全なので、誰か直していただけるとありがたいです。*/ "user32.dll"の、"DWORD SendMessageA(DWORD,DWORD,DWORD,DWORD)"を、"?,?,?,?"の、"SendMessage"として、DLLを利用。 "comctl32.dll"の、"DWORD CreateStatusWindowA(int,char*,DWORD,DWORD)"を、"?,?,?,?"の、"CreateStatusWindow"として、DLLを利用。 "comctl32.dll"の、"int InitCommonControlsEx(char*)"を、"?"の、"InitCommonControlsEx"として、DLLを利用。 "ステータスバー作成"を、"?の"で、関数定義。 /*ステータスバーを作ります。  書式  :「オブジェクト名」の、ステータスバー作成。 戻り値 :ステータスバーのハンドル  サンプル:「ステータスバー」の、ステータスバー作成。*/ "ステータスバー分割"を、"?を,?に"で、関数定義。 /*ステータスバーを分割します。  書式  :「オブジェクト名」を、「分割サイズ」に、ステータスバー分割。  戻り値 :元の「それ」の値  サンプル:「ステータスバー」を、"100,200,300,-1"に、ステータスバー分割。*/ "ステータスバーテキスト設定"を、"?の,?番目を,?に"で、関数定義。 /*ステータスバーのテキストを変更します。  書式  :「オブジェクト名」の、(セルの番号)番目を、「テキスト」に、ステータスバーテキスト設定。  戻り値 :変更前のテキスト  サンプル:「ステータスバー」の、2番目を、「テキスト」に、ステータスバーテキスト設定。*/ "ステータスバーリサイズ"を、"?の"で、関数定義。 /*ステータスバーのサイズを母艦に合わせます。「母艦の、変更した時」のイベントに必ず含めてください。  書式  :「オブジェクト名」の、ステータスバーリサイズ。  戻り値 :元の「それ」の値  サンプル:母艦の、変更した時は、「ステータスバー」の、ステータスバーリサイズ。*/ "shell32"の、"DWORD ExtractIconExA(char*,DWORD,char*,char*,DWORD)"を、"?,?,?,?,?"の、"ExtractIconEx"として、DLLを利用。 "user32"の、"int DrawIconEx(DWORD,int,int,DWORD,int,int,DWORD,DWORD,DWORD)"を、"?,?,?,?,?,?,?,?,?"の、"DrawIconEx"として、DLLを利用。 "user32"の、"int DestroyIcon(DWORD)"を、"?"の、"DestroyIcon"として、DLLを利用。 "小アイコン描画"を、"?に,?の,?を"で、関数定義。 /*小さいアイコンをイメージに描画します。  書式  :「イメージ」に、「ファイル名」の、(インデックス)を、小さいアイコン描画。  戻り値 :エラーが発生した時は0、正常終了の時は1  サンプル:イメージを、作る。      「イメージ」に、"Shell32.dll"の、3を、小さいアイコン描画。*/ "GDI32.dll"の、"DWORD PolyBezier(DWORD,char*,DWORD)"を、"?,?,?"の、"PolyBezier"として、DLLを利用。 "ベジェ曲線"を、"?に,?で"で、関数定義。 /*ベジェ曲線を描画します。  書式  :「イメージ」に、「座標配列」で、ベジェ曲線。  戻り値 :エラーが発生した時は0、正常終了の時は1  サンプル:イメージを、作る。       「イメージ」に、"10,10\n10,40\n20,40\n30,10"で、ベジェ曲線。 */ "{母艦のパス}DLLForHimawari.dll"が、存在するか。 もし、それならば( "{母艦のパス}DLLForHimawari.dll"の、"int ShutDown(void)"を、""の、"シャットダウン"として、DLLを利用。 "{母艦のパス}DLLForHimawari.dll"の、"int ReBoot(void)"を、""の、"再起動"として、DLLを利用。 "{母艦のパス}DLLForHimawari.dll"の、"int LogOff(void)"を、""の、"ログオフ"として、DLLを利用。 /*使用法 WINDOWS(特にNT系)をシャットダウンします。  書式  :ログオフ。 or 再起動。 or シャットダウン。  戻り値 :エラーが発生した時は0、正常終了の時は1 //1が帰ってきてもあまり意味ないですが。  サンプル:「どうしますか」を、「ログオフ|再起動|シャットダウン|待機」の、リストから選択して、ひまわりする。*/ "{母艦のパス}DLLForHimawari.dll"の、"char* GetPathShortCutLink(char*)"を、"?"の、"GetPathShortCutLink"として、DLLを利用。 "リンク先取得"を、"?の"で、関数定義。 /*使用法 ショートカットのリンク先を取得します。  書式  :「ショートカットファイル名」の、リンク先取得。  戻り値 :正常終了の時はリンク先のファイル名(フルパス)、ファイルが存在しない時は0、ショートカットファイルでない時は引数そのまま  サンプル:「{デスクトップのパス}himapad.lnk」の、リンク先取得して、起動。*/ )違えば( "DLLForHimawariインストール"を、""で、関数定義。 ) 戻る。 ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ ※※※※※※※※※※※※※※※※※※※※----------関数の実装部ここから----------※※※※※※※※※※※※※※※※※※※※ ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ *キー状態取得 GetKeyState(引数取得); もし、(AND(それ,$8000))ならば、それ=1; 違えば、それ=0; 戻る。 *フルパス PathIsRelative(引数取得); NOT; 戻る。 *母艦移動 "LibrarySORE"を、ローカル変数。 LibrarySORE=それ; ReleaseCapture(); 母艦に、"{$A1},{2},0"と、メッセージ送信。 それは、LibrarySORE。 戻る。 *ポップアップに設定 GetSubMenu(GetMenu((母艦の、ハンドル)),0); Libraryポップアップメニューハンドル=それ "{トリム(引数取得)}"の、可視は、オフ。 戻る。 *ポップアップ表示 "Libraryマウス位置\nLibraryマウスX\nLibraryマウスY"を、ローカル変数。 Libraryマウス位置に、8バイトを、確保。 GetCursorPos(Libraryマウス位置); Libraryマウス位置の、1を、"INT"形式で、バイナリ取得して、LibraryマウスXに、入れる。 Libraryマウス位置の、5を、"INT"形式で、バイナリ取得して、LibraryマウスYに、入れる。 TrackPopupMenu(Libraryポップアップメニューハンドル,2,LibraryマウスX,LibraryマウスY,0,(母艦の、ハンドル),0); NOT(NOT); Libraryマウス位置に、1バイトを、確保。//free()のつもり。必要なかったら指摘してください。 戻る。 *メッセージボックス表示 引数取得して、トリム。 メッセージボックス(それ#0,それ#1,それ#2); 戻る。 *メッセージボックス ここから "Libraryフラグ"を、 ローカル変数。 3番目の、引数得て、トリム。 "+"を、"|"に、置換。 //ボタンの種類(一つだけ指定) "MB_CANCELTRYCONTINUE"を、 6に、置換。 //キャンセル・再実行・続行 "MB_ABORTRETRYIGNORE"を、 2に、置換。 //中止・再試行・無視 "MB_YESNOCANCEL"を、 3に、置換。 //はい・いいえ・ャンセル "MB_RETRYCANCEL"を、 5に、置換。 //再試行・キャンセル "MB_OKCANCEL"を、 1に、置換。 //OK・キャンセル "MB_YESNO"を、 4に、置換。 //はい・いいえ "MB_OK"を、 0に、置換。 //OKボタンのみ //表示するアイコン(一つだけ指定) "MB_ICONEXCLAMATION"を、 48に、置換。 //!マークアイコン "MB_ICONINFORMATION"を、 64に、置換。 //iマークアイコン "MB_ICONQUESTION"を、 32に、置換。 //?マークアイコン "MB_ICONASTERISK"を、 64に、置換。 //iマークアイコン "MB_ICONWARNING"を、 48に、置換。 //!マークアイコン "MB_ICONERROR"を、 16に、置換。 //停止アイコン "MB_ICONHAND"を、 16に、置換。 //停止アイコン "MB_ICONSTOP"を、 16に、置換。 //停止アイコン "MB_USERICON"を、 128に、置換。 //不明 //デフォルトのボタン(一つだけ指定) "MB_DEFBUTTON1"を、 0に、置換。 //1つ目 "MB_DEFBUTTON2"を、 256に、置換。 //2つ目 "MB_DEFBUTTON3"を、 512に、置換。 //3つ目 "MB_DEFBUTTON4"を、 768に、置換。 //4つ目 //ダイアログの挙動(1つだけ指定) "MB_APPLMODAL"を、 0に、置換。 //「言う」ダイアログと同じ "MB_SYSTEMMODAL"を、 1024に、置換。 //常に最前面に表示 "MB_TASKMODAL"を、 4096に、置換。 //他のアプリケーションへの入力も禁止 //その他の設定(複数設定) "MB_SERVICE_NOTIFICATION"を、2097152に、置換。//(NT系専用)ログオンしていなくても表示される "MB_DEFAULT_DESKTOP_ONLY"を、131072に、置換。//デフォルトデスクトップ(ログオンして最初に表示されるデスクトップ)にのみ表示可能 "MB_SETFOREGROUND"を、 65536に、置換。 //不明(同じプロセスのウィンドウに隠れない?) "MB_RTLREADING"を、 1048576に、置換。//不明 "MB_NOFOCUS"を、 32768に、置換。 //不明(ダイアログにフォーカスを当てない?) "MB_TOPMOST"を、 262144に、置換。//常に最前面に表示 "MB_RIGHT"を、 524288に、置換。//テキストを右寄せ "MB_HELP"を、 8192に、置換。 //ヘルプボタンを追加 //不明 "MB_TYPEMASK"を、 15に、置換。 "MB_ICONMASK"を、 240に、置換。 "MB_DEFMASK"を、 3840に、置換。 "MB_MODEMASK"を、 12288に、置換。 "MB_MISCMASK"を、 49152に、置換。 "|"で、区切る。 反復、Libraryフラグ=OR(Libraryフラグ,それ); Libraryフラグ#1に、1番目の、引数得る。 Libraryフラグ#2に、2番目の、引数得る。 MessageBox((母艦の、ハンドル), Libraryフラグ#1, Libraryフラグ#2, Libraryフラグ#0); ここまで 戻る。 *MIDI変換 ここから "Libraryエラー内容"を、ローカル変数。 Libraryエラー内容に、256バイトを、確保。 引数取得して、トリム。、 MMLtoMIDI(それ#0,それ#1,Libraryエラー内容); もし、それならば、それ=Libraryエラー内容 違えば、それ="" Libraryエラー内容に、1バイトを、確保。//free()のつもり。必要なかったら指摘してください。 ここまで 戻る。 *ドライブ列挙 GetLogicalDrives(); 26回( それ#28=AND(それ#0,左シフト(1,回数-1)); もし、(それ#28)ならば、それ#回数=CHR(回数+64); ) 0行目を、行削除して、27行目を、行削除。 "s#^\n##kmg"で、正規表現置換。 "\n"を、":\n"に、置換。 戻る。 *バージョン表示 引数取得して、トリム。 "IDI_APPLICATION"を、 32512に、置換。 //DOSアプリのアイコン "IDI_HAND"を、 32513に、置換。 //×マーク "IDI_ERROR"を、 32513に、置換。 "IDI_QUESTION"を、 32514に、置換。 //?マーク "IDI_EXCLAMATION"を、 32515に、置換。 //!マーク "IDI_WARNING"を、 32515に、置換。 "IDI_ASTERISK"を、 32516に、置換。 //iマーク "IDI_INFORMATION"を、 32516に、置換。 "IDI_WINLOGO"を、 32517に、置換。 //IDI_APPLICATIONと同じ(どこがWINLOGO?) ShellAbout((母艦の、ハンドル),それ#0,それ#1,LoadIcon(0,それ#2)); NOT(NOT); 戻る。 *カーソル変更 引数取得して、トリム。 "IDC_ARROW"を、 32512に、置換。 "IDC_IBEAM"を、 32513に、置換。 "IDC_WAIT"を、 32514に、置換。 "IDC_CROSS"を、 32515に、置換。 "IDC_UPARROW"を、 32516に、置換。 "IDC_SIZE"を、 32640に、置換。 "IDC_ICON"を、 32641に、置換。 "IDC_SIZENWSE"を、 32642に、置換。 "IDC_SIZENESW"を、 32643に、置換。 "IDC_SIZEWE"を、 32644に、置換。 "IDC_SIZENS"を、 32645に、置換。 "IDC_SIZEALL"を、 32646に、置換。 "IDC_NO"を、 32648に、置換。 "IDC_HAND"を、 32649に、置換。 "IDC_APPSTARTING"を、 32650に、置換。 "IDC_HELP"を、 32651に、置換。 SetCursor(LoadCursor(それ)); 戻る。 *ごみ箱空 ここから "Libraryフラグ"を、ローカル変数。 2番目の、引数得て、トリム。 "+"を、"|"に、置換。 "SHERB_NOCONFIRMATION"を、 1に、置換。 //削除の確認を行わない "SHERB_NOPROGRESSUI"を、 2に、置換。 //削除の進行度表示をしない "SHERB_NOSOUND"を、 4に、置換。 //削除完了時に音を鳴らさない "|"で、区切る。 反復、Libraryフラグ=OR(Libraryフラグ,それ); SHEmptyRecycleBin((母艦の、ハンドル),"{引数取得#1}:\\",Libraryフラグ); NOT; ここまで 戻る。 *インスタンスハンドル インスタンスハンドル取得。 戻る。 *インスタンスハンドル取得 GetWindowLong((母艦の、ハンドル),(-6)); 戻る。 *エラーコード エラーメッセージ取得して、戻る。 *エラーメッセージ取得 ここから "Libraryエラーメッセージ"を、ローカル変数。 Libraryエラーメッセージに、256バイトを、確保。 FormatMessage(12800,"",GetLastError(),1041,Libraryエラーメッセージ,256,""); もし、それならば、それ=Libraryエラーメッセージ Libraryエラーメッセージに、1バイトを、確保。//free()のつもり。必要なかったら指摘してください。 ここまで 戻る。 *特殊アイコン描画 ※watara様感謝!! ここから "LibrarySHFILEINFO\nLibraryhIcon\nLibraryhDC"を、ローカル変数。 LibrarySHFILEINFOに、352バイトを、確保。 4番目の、引数得る。 SHGetFileInfo(それ, 0, LibrarySHFILEINFO, 352, $100); LibrarySHFILEINFOの、1を、"DWORD"形式で、バイナリ取得して、LibraryhIconに、入れる。 もし、(LibraryhIcon)ならば( 引数取得。 "{それ#0}"の、ハンドルを、LibraryhDCに、得る。 DrawIcon(LibraryhDC, それ#1, それ#2, LibraryhIcon); ) それ=LibraryhIcon; LibrarySHFILEINFOに、1バイトを、確保。//free()のつもり。必要なかったら指摘してください。 ここまで 戻る。 *関連付けアイコン描画 ここから "LibraryTEMPファイル"を、ローカル変数。 4番目の、引数得る。 もし、(LEFT(それ,1)=&".")ならば、それから、1文字、左端削除。 LibraryTEMPファイル="{TEMPのパス}TEMP.{それ}"; LibraryTEMPファイルに、""を、保存。 引数取得。 "{それ#0}"の、それ#1,それ#2に、LibraryTEMPファイルを、特殊アイコン描画。 LibraryTEMPファイルを、ファイル完全削除。 ここまで 戻る。 *環境変数取得 ここから 引数取得して、トリム。 "Library環境変数"を、ローカル変数。 Library環境変数に、1バイトを、確保。 GetEnvitonmentVariable(引数取得,Library環境変数,1) Library環境変数に、それバイトを、確保。 GetEnvironmentVariable(引数取得,Library環境変数,それ); それ=Library環境変数; Library環境変数に、1バイトを、確保。//free()のつもり。必要なかったら指摘してください。 ここまで 戻る。 *クリップボードフォーマット取得 ここから "LibraryhWnd"を、ローカル変数。 母艦の、ハンドルを、LibraryhWndに、得る。 OpenClipboard(LibraryhWnd); EnumClipboardFormats(0); LibraryhWnd = CloseClipboard();//「それ」が変更されないように。 それで、条件分岐。 1の時、それ="TEXT"; 2の時、それ="BITMAP"; 3の時、それ="METAFILEPICT"; 4の時、それ="SYLK"; 5の時、それ="DIF"; 6の時、それ="TIFF"; 7の時、それ="OEMTEXT"; 8の時、それ="DIB"; 9の時、それ="PALETTE"; 10の時、それ="PENDATA"; 11の時、それ="RIFF"; 12の時、それ="WAVE"; 13の時、それ="UNICODETEXT"; 14の時、それ="ENHMETAFILE"; 15の時、それ="HDROP"; 16の時、それ="LOCALE"; 17の時、それ="DIBV5"; ここまで 戻る。 *ジョイパッド操作取得 ここから "LibraryJOYINFO\nLibraryTemp"を、ローカル変数。 LibraryJOYINFOに、16バイトを、確保。 joyGetPos(0,LibraryJOYINFO); LibraryJOYINFOの、1を、"DWORD"形式で、バイナリ取得。 LibraryTemp=それ-32767 LibraryJOYINFOの、5を、"DWORD"形式で、バイナリ取得。 LibraryTemp#1=それ-32767 LibraryJOYINFOの、9を、"DWORD"形式で、バイナリ取得。 LibraryTemp#2=それ LibraryJOYINFOの、13を、"DWORD"形式で、バイナリ取得。 LibraryTemp#3=それ それは、LibraryTemp。 ここまで 戻る。 *押されたジョイパッドボタン *押されたジョイパッドボタン取得 ジョイパッド操作取得。 ここから "LibraryTemp"を、ローカル変数。 LibraryTemp=それ#3 それ="" 32回( LibraryTemp#1=左シフト(1, (回数-1)) もし、AND(LibraryTemp#0, LibraryTemp#1)ならば、それ="1{それ}"; 違えば、それ="0{それ}"; ) ここまで 戻る。 *マウス右クリック mouse_event(8,0,0,0,0); mouse_event(16,0,0,0,0); 戻る。 *マウスホイールクリック mouse_event(32,0,0,0,0); mouse_event(64,0,0,0,0); 戻る。 *マウスドラッグ 引数取得。 それ#0に、マウス移動。 mouse_event(2,0,0,0,0); それ#1に、マウス移動。 mouse_event(4,0,0,0,0); 戻る。 *マウス右ドラッグ 引数取得。 それ#0に、マウス移動。 mouse_event(8,0,0,0,0); それ#1に、マウス移動。 mouse_event(16,0,0,0,0); 戻る。 *壁紙変更 SystemParametersInfo(20, 0, 引数取得, 3); NOT; 戻る。 *ポインタ取出 "LibraryTemp"を、ローカル変数。 LibraryTempに、32バイトを、確保。 引数取得。 "sprintf1(LibraryTemp, `%p`, {それ});"を、ひまわりする。 strtol(LibraryTemp, 0, 16); LibraryTempに、1バイトを、確保。 戻る。 *ポインタ読 "LibraryTempA\nLibraryTempB"を、ローカル変数。 LibraryTempBに、引数取得。 LibraryTempAに、(LibraryTempB#1+1)バイトを、確保。 "sprintf2(LibraryTempA, `%s`, {LibraryTempB#0});"を、ひまわりする。 それ=LibraryTempA; LibraryTempAに、1バイトを、確保。 戻る。 *ネットワークドライブ接続 "LibraryNETRESOURCE\nLibraryString\nLibraryArgv"を、ローカル変数。 LibraryNETRESOURCEに、32バイトを、確保。 LibraryArgvに、引数取得。 LibraryString="{LibraryArgv#0}{CHR(0)}{LibraryArgv#1}" 1を、LibraryNETRESOURCEの、5に、"DWORD"形式で、バイナリ設定。 "LibraryString"の、ポインタ取り出す。 それを、LibraryNETRESOURCEの、17に、"DWORD"形式で、バイナリ設定。 (それ+POS(それ,CHR(0)))を、LibraryNETRESOURCEの、21に、"DWORD"形式で、バイナリ設定。 0を、LibraryNETRESOURCEの、29に、"DWORD"形式で、バイナリ設定。 WNetAddConnection2(LibraryNETRESOURCE, LibraryArgv#2, LibraryArgv#3, 0); NOT; 戻る。 *ネットワークドライブ切断 NOT(WNetCancelConnection2(引数取得, 1, 1)); 戻る。 *構造体設定 "Library構造体テーブル\nLibrary構造体データ\nLibrary構造体バイナリ\nLibrarySORE"を、ローカル変数。 LibrarySORE=それ; 1番目の、引数得る。 "Library構造体テーブルは、{それ}"を、ひまわりする。//Call By Value 2番目の、引数得る。 "Library構造体データは、{それ}"を、ひまわりする。 3番目の、引数得る。 Library構造体バイナリは、それ。 //Call By VariableName Library構造体データを、辞書として扱う。 Library構造体テーブルの、要素数。 "{Library構造体バイナリ}に、(構造体テーブル#(それ-1))バイトを、確保。"を、ひまわりする。 Library構造体テーブルを、反復( `,`で、区切る。 型情報は、それ もし(それ#2=&`void*`)ならば( "(Library構造体データの、{それ#0})の、ポインタ取り出す。"を、ひまわりする。 "それを、{Library構造体バイナリ}の、型情報#1に、`DWORD`形式で、バイナリ設定。"を、ひまわりする。 )違えば、もし(それ#2=&`char[]`)ならば( "(Library構造体データの、{それ#0})を、{Library構造体バイナリ}の、それ#1に、`char*`形式で、バイナリ設定。"を、ひまわりする。 )違えば( "(Library構造体データの、{それ#0})を、{Library構造体バイナリ}の、それ#1に、`{それ#2}`形式で、バイナリ設定。"を、ひまわりする。 ) ) それは、LibrarySORE。 戻る。 *構造体展開 "Library構造体テーブル\nLibrary構造体データ\nLibrary構造体バイナリ\nLibrary構造体配列"を、ローカル変数。 1番目の、引数得る。 "Library構造体テーブルは、{それ}"を、ひまわりする。//Call By Value 2番目の、引数得る。 Library構造体バイナリは、それ。 //Call By VariableName 3番目の、引数得る。 Library構造体データは、それ "{Library構造体データ}=``"を、ひまわりする。 "{Library構造体データ}を、辞書として扱う。"を、ひまわりする。 Library構造体テーブルを、反復( `,`で、区切る。 型情報は、それ もし、(要素数(それ)!=3)ならば、抜ける。 もし(それ#2=&`void*`)ならば( "{Library構造体バイナリ}の、型情報#1を、`DWORD`形式で、バイナリ取得。"を、ひまわりする。 「それ」を、(Library構造体テーブル#1#回数-型情報#1)バイト、ポインタ読む。 "{Library構造体データ}の、{型情報#0}は、それ。"を、ひまわりする。 )違えば、もし(それ#2=&`char[]`)ならば( "{Library構造体バイナリ}の、型情報#1を、`char*`形式で、バイナリ取得。"を、ひまわりする。 "{Library構造体データ}の、{型情報#0}は、それ。"を、ひまわりする。 )違えば( "{Library構造体バイナリ}の、型情報#1を、`{それ#2}`形式で、バイナリ取得。"を、ひまわりする。 "{Library構造体データ}の、{型情報#0}は、それ。"を、ひまわりする。 ) "Library構造体配列#回数は、{Library構造体データ}の、{型情報#0}"を、ひまわりする。 ) Library構造体配列の、0行目を、行削除。 戻る。 *ステータスバー作成 "Libraryステータスバー\nLibraryINITCTRLS"を、ローカル変数。 Libraryステータスバーに、引数取得。 LibraryINITCTRLSに、8バイトを、確保。 8を、LibraryINITCTRLSの、1に、"DWORD"形式で、バイナリ設定。 4を、LibraryINITCTRLSの、5に、"DWORD"形式で、バイナリ設定。 InitCommonControlsEx(LibraryINITCTRLS); "{Libraryステータスバー}を、辞書として扱う。"を、ひまわりする。 "{Libraryステータスバー}の、名前は、Libraryステータスバー"を、ひまわりする。 "{Libraryステータスバー}の、分割数は、0"を、ひまわりする。 "{Libraryステータスバー}の、テキストは、`{Libraryステータスバー}`"を、ひまわりする。 "{Libraryステータスバー}の、ハンドルは、{CreateStatusWindow($50000103, Libraryステータスバー, (母艦の、ハンドル), 1)}"を、ひまわりする。 "それは、{Libraryステータスバー}の、ハンドル。"を、ひまわりする。 戻る。 *ステータスバーテキスト設定 "Libraryステータスバー\nLibraryTEMPA\nLibraryTEMPB\nLibraryString\nLibraryhStatus"を、ローカル変数。 Libraryステータスバーに、1番目の、引数得る。 "LibraryhStatusは、{Libraryステータスバー}の、ハンドル。"を、ひまわりする。 "LibraryStringは、{それ}の、テキスト。"を、ひまわりする。 LibraryTEMPBに、2番目の、引数得る。 LibraryTEMPAに、3番目の、引数得る。 "TEMPA"の、ポインタ取り出す。 SendMessage(LibraryhStatus, $401, LibraryTEMPB, それ); "{Libraryステータスバー}の、テキストは、LibraryTEMPA。"を、ひまわりする。 それ=LibraryString; 戻る。 *ステータスバー分割 "LibraryPartArray\nLibraryTEMP\nLibraryhStatus\nLibrarySORE"を、ローカル変数。 LibrarySOREは、それ。 1番目の、引数得る。 "LibraryhStatusは、{それ}の、ハンドル。"を、ひまわりする。 2番目の、引数得る。 ","で、区切る。 LibraryTEMPは、それ。 LibraryPartArrayに、(要素数(LibraryTEMP)*4)バイトを、確保。 LibraryTEMPを、反復、それを、LibraryPartArrayの、(回数*4-3)に、"int"形式で、バイナリ設定。 LibraryTEMP=要素数(TEMP); "LibraryPartArray"の、ポインタ取り出す。 SendMessage(LibraryhStatus, $404, TEMP, それ); それ=LibrarySORE; 戻る。 *ステータスバーリサイズ "LibrarySORE"を、ローカル変数。 LibrarySOREは、それ。 引数取得。 "SendMessage(({それ}の、ハンドル), 5, 0, 0);"を、ひまわりする。 それ=LibrarySORE; 戻る。 *小アイコン描画 "LibraryhDC\nLibraryhIconSmall"を、ローカル変数。 1番目の、引数得る。 "LibraryhDCは、{それ}の、ハンドル"を、ひまわりする。 LibraryhIconSmallに、4バイトを、確保。 引数取得。 ExtractIconEx("{それ#1}", それ#2, 0, LibraryhIconSmall, 1); LibraryhIconSmallの、1を、"DWORD"形式で、バイナリ取得。 LibraryhIconSmallは、それ。 DrawIconEx(LibraryhDC, 0, 0, LibraryhIconSmall, 0, 0, 0, 0, 3); エラーコードを、表示。 LibraryhDC=DestroyIcon(hIconSmall); NOT(NOT); 戻る。 *ベジェ曲線 "LibraryhDC\nLibrarylpstPOINT\nLibraryPointData"を、ローカル変数。 1番目の、引数得る。 "LibraryhDCは、{それ}の、ハンドル"を、ひまわりする。 引数取得して、0行目を、行削除。 LibraryPointDataは、それ。 それは、要素数*8 LibrarylpstPOINTに、それバイトを、確保。 LibraryPointDataを、反復( ","で、区切る。 それ#0を、LibrarylpstPOINTの、(回数*8-7)に、"int"形式で、バイナリ設定。 それ#1を、LibrarylpstPOINTの、(回数*8-3)に、"int"形式で、バイナリ設定。 ) PolyBezier(LibraryhDC, LibrarylpstPOINT, 要素数(LibraryPointData)); NOT(NOT); 戻る。 *DLLForHimawariインストール "{母艦のパス}に、'DLLForHimawari.dll'を展開します。\n"& " よろしいですか?\n"& "\n"& " ファイル名:{母艦のパス}DLLForHimawari.dll\n"& " 製作・著作:tomo\n"& "\n"& "このDLLの著作権はtomoが所有しています。\n"& "転載は私(tomo)が作ったということを明記してあれば自由です。\n"& "その時は事後でもいいので、プログラム板のコメント欄に書き込んでくれるとうれしいです。\n"& "\n"& "開発環境:Microsoft Visual Studio.NET Visual C++ 7.1\n"& "     Microsoft Windows XP Proffesional SP1\n"& "\n"と、二択。 もし、それでなければ、戻る。 "TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAABQRQAATAEDAN5DZkAAdgAAqAMAAOAABiELAQI4ADAAAAAQAAAAwAAAEPUAAADQAAAAAAEAAAAAEAAQAAAAAgAABAAAAAEAAAAEAAAAAAAAAAAQAQAAEAAAAAAAAAIAAAAAACAAABAAAAAAEAAAEAAAAAAAABAAAABsAQEAlAAAAAAAAQBsAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIBAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFVQWDAAAAAAAMAAAAAQAAAAAAAAAAIAAAAAAAAAAAAAAAAAAIAAAOBVUFgxAAAAAAAwAAAA0AAAACgAAAACAAAAAAAAAAAAAAAAAABAAADgVVBYMgAAAAAAEAAAAAABAAAEAAAAKgAAAAAAAAAAAAAAAAAAQAAAwDEuOTAAVVBYIQ0JAgrTKKrRDCkXwBLUAADvJAAAaN4AACYA/zD9////VYnlg+wYiXX8i3UMiV34g/4BdGyJdCQEi0UIiQQk/277vwUQiUQkCOgAABlsJgwdicN0PIX2dQu/tf+3oRJAAIXAdR8x24nYizg+/InsXcL9dwP7DADrDZAAOgC869yJ9o28J9v+s88KMsATuZCNdCYAx2SADt/32Z0SHgyjU3QaxykADhDbz/12GBp8BBzpEg4d/B4MLY+1NzHA64dWvwiJXRV1/9+PPdJ0KosdOI"& "PrBDnTcg2LA3EqfO/fjwxz84kUJEDsMdKJLXwAfvbXnh3cw8DD/9BI68yNtuEtnPAbH8cEBBUV22d4nQoIXx03zF4PhbL33ZXAOQ+2wEjDjy/bdQHhZB8vXdkbbBGY4H4GAIHsqD6C+7utbWhhfJVUBMgPx4WE+///Eu3bb3cBkDQDbVwEAQmNhej+Fpc9l7mJdTSADOIEN3LssaxDD4hwMKD9EEJu1p1bDEof8BgAugfbfXl+OB7gvBSJhaQwg70FbEea7QBDJ4uLEEucfcyenQg7EoAZPwKzsyGLhDzPZhS5bDJ32Yj7iP8AywiK2QxnJCM8XHecN2ATHoPCFFxFBBz5Zqeweng9mTsMhnA2shACqL4MTV02JM/GQCAUeAiQy7qQZnagGqD3hvCQQcy3VAnh///tycJhU2VTaHV0ZG93blByaXZpbGVnZf3YcjsEiDEY/5Sgt7lnvAk/HkxRzSgQEP5BeAIPhZAVXIlF8I1F7DMzDPbxKAA88DGcBRwxIC9h4FADe6xutI/9I0XIATLgi1XkSqJV0NiazdwS1AI39BQGuN+ysUOhEBXITWrs5LKOICgYFQib1GgaLKDJ86l6ZLL2pAgDjBQTAl7SkgEAL/8ljL1nlixhHAAPaP9/yZBwBLrLfpctzxGiKQCqAEj+l/89c1LUbvxAOCSj2wgANvElAthd9odk01hq6A2qKz/WkAzJkC/XVsmQDNlVD1FXDMmQDFJUU5AN2ZDZf9UPuX0L2VAv0Nl9gpgPn6k74ZC8bELEATADN8AGZO/+P0YBUuMLkY/OEZ3jH0u4UQAPt/9DMgIiCI/7ZAEbEITtfysu5/aH7McTMk/nyep5+bovjIJkSIbsqQvjD+TiF3ZIhuUbAF8cJEM2ZA8xf+YyZEM2Eh8ODw1DMiRDERMMZEMyJA8QjwwJQzLxIT8WkA3ZkBkPFR9M"& "yEPJFgXgAgNkQzYkv9CP0Q8M2ZAwF18EP+D+D8mQ4WH5VogKNNARqWvvbvzfQk/XBaLCKrLqwTB/p+tTW64LoDD+f/sVpzSHZR+SSgAgr8esTaANMJarv//NhT/VzdWcLh+Tlyz5ruCFn/L5T/8he/doEKuRDyez2QUfDENQZg++GhBIhuzdi7s/MAyrAQ8PZEiGZBANDoZkSIYSERMIh2RIAIHejwzZkF0AAAsvgJAN2ZAKHwYPyZAMyQIIBAzJkAwHAwn+D8mQBeA2h2E9PM8RgQz5A/JvOJtx8NukHjvhKhq7+aRsQP5/jyAAgF8s0GRhuuHq7eIf5A/sh+OhAdsrL2cP0emDQ3ZhvA8BjyUPkEje3PhC8jqWDN+gz2AKuNNbSIZk0A5+SDZkA8b8qX/NL8EPQzIkQ8vAE/6QDUl/Eg+gxAgQE3Ybsnfcb5rx/25y9EDPAZ9vLvwhj7KWsbS6f7acNB0HPU23P2Qv0Wn19DtZH7VpDy02ZEfSv3rPhj+ET6U/JEMqyrwit2hOX+9u/92ivB9AR3BAM/AifVQPjmVfK9EZBZIhu7AEzw4PBhuyIRkPEG8ODyEZkiEjJMmQXMgTABQVDMmQDQB/ISJILuyQEeAvCBuyIWGFP4cPA08hGZIhAAZsyIaExq8HHwIPIxkShgSvyJD9XPrD57OX7w+byY4BBS/kkAzZOw85DQC8u/EvQko3POS6r79932lG7gGQMLKRn28G/8D4ILHyHD9AyicxbkRP8ofs5IE1GW8Q8MqZXkH/5b/riBS/tWn1QLe8iRlhvLcA3QEGVa8hC9L8AuD2vnSoug9sSIaERl/Dxw+GZEiGxcLEaYZkSNLX+ssfsgERz5BNbQ44Z5aQDcm7CB9oDbQKAg/ZkAzJHQMWX/3E5Q+gWXT3mr+6Tm8IFg/gD9mQHyAPgdxby8GTEoasS1+j/x"& "E/howhGx4PKJ8pSIZkSBjLG5KGbBsfiD+JDyEbsiHFP8cPsiEZssZfFxYPuf0hGRPMViAc9F4/i8gX/pC8PjspGYCtLJwkNB+2cGQH9jdM1tigrS6SDxUvMiRDNhwPHR+QPiRDEjDz+qG/DewhOSDyAdAeHNiHrBEQsNNKiT8Us5X6kPAoGlKEH7LggL31aAk3MDhJCg8JADuQ5cJf0NUaT3YZ/SGq02s3RTjPDB+lP2RDCw/g5Rq9rqZP1h+S/703UEIAwQAAyWBP2DfLQh+32uhfgVj1IgsoL6i/oMk/ZEP2DCAECk8Jj4Aj1X8HEPonl06uLYAJ+Hsyv49p+EMWD6ALmFWqNc9xS3/IOMlPoFjXqRdGv5UkB/aT/AAqJ1Wfgtz+kDGKvwK8+5vx7w+E7RL+kJ2NH2VG5AGsJD9syIbsjB863zgPUn/IhoMvwDq8pqrbr0guBF4nAN8IUt81fxDtUc/+Yoa/A0g2wGtvkr/V7SFQP6oVT2kBKT8ADUZWQxYPEi/ZhRwyP2BrBx8O2UIONGoOAAWShmTIL/wmTy78kBwQADpzDBwqD63lZENCb0R3PdAvPj//Dbc/wUBRbTZ0L4A0n2AJ+gEOK3TmFIaEMy6RTi+LbxhIhmzIbwsPDD+SIWEmLwY9C9+PXPgDEi/Ak4dUdJ6fllXw3e3/SSOAjPfVUlIPkPp/QhBuEAQhGbKQnw8BkiEZkhICESEZshgAD0EZkiGpDZ8nkv/CgCHBD2EWDNOvzcK+g0s/ij6/yeJuBd9/hmxI4thf1g/V7MhoSDCf3g+GZEguGB4ZSIZkSA8SZEiGZCEBC4ZkSIYNAh9IhmRIBAxkSIZkBRwGhmRIhhMQIkiGZEgJI2RIhmQKHRGGZEiGFRsWSIZkSCAHZEiGZBoXFJJgSIYDCJ8SuhAYvv+lH3IhXxGPfIBQp61I3bgColec"& "yCr/7aFc9F+vMACLCIXJdQ8fGN8GJ5Qv/4kVHI1l0f/9QgSLUgSjCoXSdenr2JCf/X/nov9CIoCD+P90KYXAicN1F7/J5RfbGYABHFb/FAv177+dKEt19uvdWSKEMcA0y6H+b7+6FY120otcggSF23X367if6EK171WaBGSWBF2P/X633125vYkNFeuCv1aLTWGv/9sIU2IMi3UQOdlzII20w7+3/xbti0E8gsKLAYPBCAECH3Lut4R63VteiXYfX6zqvyDRQHgHCP//8AD/PyEXMBo8LUxJQkdDQ1czMi1FSEno/v8tU0pMSi1HVEhSLU1JTkcUAE+tXdj7QXD/UAQ7j1XuIbvQfrv8IrkOxxwkuD18JCke4TN/3/OrxwM4O0B0JMdD2m6H744eIIlDFAUHUxwRLN32bS6jERgmUA4IotD2bA9qBqwnKCg877nbNiwNMDA0i2FexFipvghPn1hpoknVUKp3WAs/tu/cvyPHRbhBAB0asI11uA68bN/PdgbAiUXYGLQVxMnynJzI3LjMjmzPydDgvA7UNCRZnu3ZEeTAB+jE7CZanuXI8Mz0rrVRW/RsD7fAZGZuYtGPIEudOFZ0XO92hiPTGuw5BxycJnQbiR3P0i18zI0towdgCIBnqtdR1oEncn9agnMxXFlf/1Xf7aQWTFvruSAcj433hT9VuB8lZLp3H5AWtlM+UCkIH4XysUEhwpf+dQKxYYhMBVfSSHnvOSgwhCEMGgx4LgqAAuuT/k1nWQh82A0LMdKNZfiJ0Bn/gz270Uw58Inadefr519qd20Lqo2zp1Qx2z9njm+k/kDBVARXjFisoVByNTHZ1v69HbDPgHzHQXQRyvSDOzgIfwPQeV38ycMJ0+vrH5KxFtmQAH8UGZIhGyAPJBghGZIhKBySIRmSjFxYGZIhGVRMSCEZkiFQPBIvGZI4NAAUb4"& "ZsyEIPoB+hSIZkSNDRZEiGZNLh4odkSIbj5AAVZENyIeXmDzUDtiMDIcUP6dWQDcmAL+rrD8mQDMnu7/AMyZAM8fLzkAzJkPT1yZAMyfb3+AzJkAz5+vvAD8mQ/ICe44h49P9PLb+uzy4SYoz28pMbHdMRow6/0f93T3mr0fDZwxpcF9ERlb59l5fqT9/l/7v/T/DOcv7SEYelH2g3zxCN4QGLTdIRhV0hGzL6CAWTZ8CfwQ+SIRmSwsPEGpIhGcXGB5IhGzLvBQ8GH5IhGQEJQOWRsPC/Qd3jg18TX9eXYkA78vvw45DdBRtfiN9W+IAPby4s9IonV4NBD4Oa2RjQi0+aP2QPhvdb3npHnQRQC+zq8gLoQhy+LI+oPVVCBfwt9WwMicW/mS/WVeEu3LCe7wF8rwB6qgCLvXCcCwBVVICEDDDK4iKQ85cpKiIBn2QVFWAAEUkAgKoAC1QTgFzJK0xzJAPIADIMaHwKmwwgjAPTNM1ylHGksLjEyaa7bMxxH9gT8Ahy2zRddxwLKAM0RFhyj5Cmu6RygBOUpEBethm4zHKD5HITRdgiA3CSlwwhABRwtsAe2QAocAMAHtiyRzxwAwBQcAKsRvYDk3dQgK2oBYuiZFGmovKRAdQBGy376Qbsl2TgFAAQJQtALzxABukGTwuAeWRABmSTwvoMyCUHNwGI2QG55IAEAjOQARmQXYagHJABGbvcFQMDMiCXOF2HHgIyIKgHgrJsmu8jWK4JAL+C9WHiQEa+A3IEC3KERkYGZKC0dsZGRkZGeNd564w8R0Z6CgV7JoyMjIx8PH1UjIyMjH5of4jZi4yMgKW1AGOF7uSiALoXINoL3yMjIyMR9BILRkZGngYTIxQ+RkZGRhVWFnDHRkZGF4wYa6oGHHmOPBnJBhrsBufIc/IbBxwpB54jz5EdSwceYgcfeY48R3wHIJ4H"& "IeQ58hy/ByLdByOR58hz9QckEQglTZ4jzywIJkoIJ4yMjIwLKIIpnIyMjIwqtSvRjoyMjCzrLQYJCBoZeS4lL+Q58k2YazBnCTGR58hzfwkylgkzR54jz7EJNMsJNeMJjoyMPDb+NxcKOfIceTg0CjlQCufIc+Q6awo7hwqeI8+RPKAKPcEKPnmOPEffCj/2CkDkOfIcEgtBOQtCk+fIc04LQ2QLRI48R74Lj0WfC0a3CznyHHlH0gtI7gvnyHPkSQYMSiQMniPPkUtDDExaDE15jjxHfQxOnQxP5DnyHMAMUOAMUZHnyHPyDFIHDVNHniPPHg1UMw1VSA0ceY48VmYNV4ENc+Q58liUDVmpDc+R58haxw1b2A1cPEeeI/kNXRIOXvIceY4nDl84DmDIc+Q5Tg5hYA5iI8+R53cOY4gOZJ6cPEeeDmWwDmYO5+Q58mfeDmgOPEe+k2kPg2owD2vkOfKdD+9saw9tkefIc44PbqUPb0eeI8+9D3DWD3HvDxx5jjxyCBBzHBBz5DnydDEQdUoQz5HnyHZpEHeLEHg8R54jnxB5uhB68hx5jtIQe+oQfMhz5DkFEX0eEX4jz5HnOBF/UxGAcZ08R54RgYkRghFz5Dny44PKEYTfEc+R58iF/BGGGBKHPEeeIzMSiE8SieQ58p0Sd4qEEouT58hzoRKMuBKNjjxHnhKO4hKP+hI58hx5kBITkSoT58hz5JI/E5NWE54jz5GUbROVihOWeY48R6MTl8QTmMhz8hzgE5kTmiPPkecPFJsnFJw+nTxHnhSdVRSeFHPkOfKDn4UUoKYUz5HnyKHDFKLcFKM8R54j+xSkFxWl8hx5ji8VpkcVp8hz5DleFah2Fakjz5HnjhWqpBWruY48R54VrNgVrfIVOfIcea4FFq8WFufIc+SwKxaxTBY8R76Tshb7s30WtPIceY6UFr"& "WqFraR7+Q5wha3Fne4Js+RkfW5ERe6RkZGxgu7QbxURkZGRr1qvn5GRkZGv5jArUZGRkbBwcLVR0ZGRsPuxAkYkc2MPMUld8ZHniPPOhjHUBjIbBgceY48yYYYyqMYc+Q58su8GMzTGJ4j38nNGOPOBhnPeY48RyIZ0D4Z0eQ58hxhGdJ9GdMj38lzmhnUGXfV3I48R54Z1vkZ1x4aOfIcedg9GtlaGufIc+TabhrbhRqeI8+R3Jsa3bka3nmOPEfQGt/tGuDkOfIcCBvhIBvikefIczYb41cb5EeeI890G+WKG+amGxx5jjznwxvo4xtz5Dny6fcb6g8cz5HnyOspHOxEHO08R54jYxzugxzv8hx5jp4c8Lgc8chz5DnWHPLqHPMjz5HnAh30Hh31MJs8R54d9ksd9wsZGRkZ+Hz5lhkZGRn6tfvOHBkZGfzo/QUeMzIy8v4k/0B8fk+APl0e7wEBex7P5/P5AgGNHgMBph4E+Xw+nwHAHgUB1B4GAZ/P5/PsHgcBDB8IASQf8/l8PgkBOx8KAVgfPp/P5wsBbR8MAYgfDQHn8/l8pR8OAbkfDwF8Pp/P0x8QAe4fEQENIM/n8/kSASogEwFEIBT5Tp4jXyAVIGsW5DnyHJcgF7ggGCPPke8ggxnnIBr6jjxHniAbCyEcIyE58hx5HUAhHlwh58hz5B90ISCRIZ4jz5EhpiEiuyEjeY48R9EhJOUhJchz5Dsh+yYOIicjz5HnKCIoPyIpV448R54iKnAiK4ciOfIceSyfIi25IufIc+Qu1SIv7SKeI8+RMAwjMR4jMnmOPEc7IzNVIzTkOfIccSM1jiM2I8+R7yPvN8UjON6cPEeeIzn2Izokc+Q58jsuJDxGJM+R58g9XiQ+eCQ/PEeeI5AkQKgkQfIceY7BJELaJEOR7+Q58yREJXdFR54jzyglRkAlR1wl"& "HHmOPEh1JUmUJXPkOfJKsiVLyyXPkefITOMlTf0lTjxHniMWJk8vJlDyHHmOSyZRZSZSyHPkOX0mU5UmVDpjk+etJlULVtjSB7PnuylYCAuEWHI50C7nJkvPIweq5yYlyAHCkAWzJwUnF6OMjEXgJycnC0gGjIyMjF8HdQiMjIyMjwmkChmbjYy9C8sLDM2HGBn5DQ8SKA5P82k+KCgPQCg9W+bTfJooEHEoEYcop/k0nz6uKBLGKBPzaT7N3ygU/SgVFynTfJpPFjApF0cpGPk0n+ZiKRl6KRqVKWk+zacbrCkcxykdfJpP8+ApHv4pHxgqNJ/m0yA1KiFNKiI+zaf5ZCojfSokmyqST/NpJbYqJs0qyUlOcuIq/CodK+QkJzk4K00raSvkJCe5K5UrqytykpOcxyvlK/8r6YhLThYsLBc5fJpP81csOnMsO5Ask5zk0zytLMYs4cNKcpIs/CwHIMIiynAy2/9S/6h1dWlkLmOFc2Ftby93M17q//8yYXBpL2JsZC9jeWd3aW4vbGlioC4uL3+wgM0CFDdnY2MyX2P937bbb201bGUPABx0OnQoMCwxKT1yJtv+jwY7LTIxNDc0ODM2AzsKN3Iy9qVkY2hhcioyMpPDvvswOzEyGWxvbmcgSDOy9q+QM3Vuc2lnbnwybmDmbDRQNAANUxYs2TM3AGY8NcIGICc1qNZ822U2QHOQOz02MT/YZcsSR0U3UAZsyhaSN1k3+yFsypcxUHNob3J0Q2AefiY4MTY7SzhZsle45zc2RgUqd/3DgE05MzmdNjU1MzVfS8LMLibA6Sg4ExbaeycLXMU4yRuQIXtSKzExVDEYW/cyNVJm+WE4MrONd5M5NB0AZG91jWUasAhnkjM4LR8eryU5NEUglr8ZJtsbeNAx3HtyZWFsOmbfHGMmLFcoaW1hZw8M2LLnDRA4ljaELX"& "uDNnxbfxtIN8g3N4A2qc9lsCk4KTgyNF+29O3SX2JPbHSpX3ZhX15zdXyLLA05GyogQm9vbJLcICNuMi1jmf0v/ZYCY2x1ZGXBYXNldHlwcy5oW8PpvzlHVUlEOlQoMpTPRNJhD1+QhzEANRAyATk5yOciVhEzNDhcoXQPNDpDMsoH3CLpHYsGJ9qDW5rQBOoUNAJcfew0PY6nMpQAUkVGHXsjkxQ1NvcbTFA57CCTGjcAVRE4DxlsGTRJEDlDTOy9R7BTEp0TShW+wc4GMXwyaDAeSbGTk8McMzQ5oWBvyGQcNRVR2bAfMjYARk1UFLPCLGCzKxa43igsfWwlAGVycoRf9384Y19ndXNfdLkypgBQUk/bH/K9UDoUMUFSUkFZFV9/o223UDJoUDxwQT5lczpHKDFjNwgP6GsHQXNfQ3//YbNtdCFsGxREb2NPYmploytd2GN0FkmzSWGqeKkM2Rd0y3RBd9mvR1b/GnNTQWN1SiG7Kw9OZXYad0V4GczBO7ZQF3Pkc1RvRjcbpbDtI01lbVZ5HRBGWLvUaWsNHhLaIcx0eULdIlN0XlnXCtsdZR4qbR2uI2sXSYPacm7ZrVsJPo5nbG1tGXDaSl9SZXH6S3Nir/2Q/ctIb3NSU2FmZUaqa05g261pu2l6YGcgU2P65oHde3B0HUxTQWxsQ2xtXFjbD3NiF0MWbFzY4aE0J1AFG0a2cQhzMhpQaTN1sL2hhbAdN/R0VkJYjq21kBcxMlJVXAX3SGCMB1GRAjthj2OnGXRwGHuBte1Hf2hNG0h0NV5g3wgZUxpJZFAovOChY3lVbqbmbrsja7IebjZjRsZlTbWzZcwefCBMHbCFBq0UG+yCZeRvX2AnTWt4UFNCMmRDdDYpNrJ4FkWlGke2dVdprVOuZRlE/cgMHdREnBdFbnVta0fWsbJh9HMaR0pl2N7cAvOC"& "Y2VBGWkyxxBW1hxG1xsh25meVXJsoO54eRrICo9JQT0fb6xRa8ZZml8Yq9FuC8JoTTTtNLjAEtggHVObpawZViBVFjKaicIIj73CGigsG2RDYWc1XU1lp5SVwyYpFO0CuzBInW5rFUL5ZS0OlHeSGTizlAVjWhfgbAl8ZaRVUkwIGmZfYKRuV2VihL3swckzREkQF0V2fthF1vZzHTIeRkxBRwaTBQwgFk1lYWtqDFN2T3kfZkPZwpphbXGuIh+OCr9GM0RlokhdL1IG501cSMJu2/9FQ0tWQUxVRUVY4lXjVkUftv2E/U9MT1IRRk9OVEIVRBQ+ZbdTSVRGSUMWTkFNRX4AecoUU0laVFJJS0VT9o0Ikk9VR0gdVXthrfROREVSu404SEEXMNeGbEwSSXFKiksg0bpIDu4d1iJhP05VTEwQNc8BCyS0dBhMGjSXsHkYechbi5T9wi1YUE9TEJjKDhd2WEV1WBcRyJFd2ShZT1lSMiUTWVlobbU+oUmljHNcGmYekGFMSUIXXiEzUOTcMddDU9gkNxhFmsKaprAdULBlHWAiO5CfHFfKL6xk+FQiZHZpcxB2gb1AFjIXrV5YoWYYc3kNUDgLWRwYdfWDkDV46a2chdmLZCETkhQ02chKWxhT7FZbY8RDxGyFY2seWaTsoU1zZyHBK8vAbBN/HOZgoWQaP2dP4tvWAkNDQ24vbLhvIkRiYYBQg7p2ZScHGkaSF3mJhZDCGHqDGQVKBDeZWbbSkhies9FsNNXiyJ5vamh0nBuIMwQXtZ0GmaMmOW9GG7WUtQ9AYQdYFQRCArkUdWWShxjN0UPGpONklLUOYBtUeR8a7MQQNjIbTHIZ8WhhIzT+vJBdmMq0bGTWHG4wW1igFpJ1Z7OF1MoRuBfYJQeNZiZGeWQxF4UMIUMyMwsr1LafcIvhFLJWYwNBU28DZRYLK9"& "WaVB0htG+wqUOGtkVHBFlJToCwsgYUHKaQDRlvGAFzILa7rSwbaFJNdVRDGXFlB1JSFGUKTFnLWiEXSFJbCSvbRE0Wsxb5vwHWfRdPTEVWRVJCai5KKygwBwBrUWo6Vj9rIALYZuBVMANp/pDAtg+xRAJBGFgTpUxDAp5HHhEWwlYbF9VYmaFgF3uiuL2Rvhawa24h/5QV6BdWQVJJQU5Uq1gCaYsVYTQODVlaeHMvC5CwJfgeVGyybSNXlHJ5JnMZ9mgkMDLHEPuEPVLvFEdsb2JvAU2NUOtm+1RLGM2WzyD5ES1LYTT1HjuRsllDFj4VAQJIK1TVyEpgqk6kIDF4CQTcGaHDLH2AcTujTGF5z3QgzBYWHxlOA1gzTU2yGBJTLCS1sHB03hMDCM7FnGaSTQ+wlcBpbXmvTXUCCbsVO1FJEy+m7LlgGvgYV8CUEhYPaF5ebUCXQoMbQ9tliAQ2gRQyFciAlM13G7pQcjXZGW8K31YGs5XgHPFlsxT2GGYWZ2yELWtkFzPByF6DmBuEzWAgJqgismUrI+gbOI4zmiUcLmwxAtkLYSa5GipLYY8iHFwXwKhBKK4esqYQtjttnUwPZUslNxMGeGcqwdQCYQBhdkXKhoD2HdgbmSs6NxYuZVtZIDswMBwaZiMG2AL46L2gxUIVcMspixB2oCJ+IJHAqEEAbWsVsk82FUJ1ZmadMm4HYmmQU3lORQwrCjFW8UKMDA5qhHabQANsE4IXyJZAKX4ZQMNW1oIaABvKlnYeMh+QbIDAchqMhCvsQxlJtQYjW0IyE9bYWoRSUE1DYSR1YY/pG3KKHTQdaMwmTm9m2AgLCSH/+FtZwVIYGBnZDJgNZQ8eHWEHWoMYMhLYK4UZKByFsAklLIVVrNgghBs0ZPNliexBrxySB0grO3h5EZ1RhU2AhXW8a7t/FvZqobtUIRMjzNTe"& "LGhFZOS7FwT2BFJoUm9v/4WwGfBScGNUFmxlbyWxHN8U2bNANi8aMzQcsAF2G5d1YhNKEDjUDnWTm1KhmesFGh4ZwFzQoitTjx2ubiUVHHEcctTQLIAB0hkZCy+BaRp1ZQh4HDiyNmk6/Byt0MqRPE35aGEwMLWZEFJGEi91wiNhgA3PUQo8wHgQfFN1x2KBVKPjm3tBgc+vRW1i6bwbJlhJK90EsgnUHjkcbBxlKXOQVBR6EgyQYIF7NUCCAHWBJRpgl7pIVYuFmZrn68v6sCFsxlAWMhcMClmEdoBD2JClFjIXQdBMLIRwEpX8K5twql3jGRtSmRhgF8kuJKTOiGpVNmxAwHJSMadfL/VbB1FQA0hfQUxMaEFHRT/CHmEcTU0ZVEVYVF5hX2AbTlNJHFZJLb6cwDRCQUNBVURfXmBfYB5JRkYYTVC7QJ7AF0NHTU/RwrYVdk9O8oBCFwj7BRZ/RU5ITRmQCaxF9klH5BPYh0hUTUwYSlBFR7AF8glNSURJMRfYrY0EDVRU+VBe0BbYQ1gX4n8CoZDAG7PmWINv0PNUU0NS9x6hRbcXUVU4S1QM7NgjZAJSUlQXBdaiF1NPghlHyAT2WUxLY1RVNRbIGxxDT0S7WOMCoxifV9cXGYcwFhxYQp4iWT0q2GgkIBaSix1FMIiQFV/B+CUaBDe0bDMyLmOI2wgpRSFsZ/AFqTrmaFQxRCQEC2yEaxxwaGpgtSwg8At5Uz3BGnNoY3UJAZhUMMOWlZeAR5hFeHC8BzRg9hRag34kJpGyGGLtghC0A04unSwhhYkNHDsBy0JCKhhbTYiR6b4YbpC4ELJ1Fy5tbt+LVAsltGXaXoAF9itJY29uFWBHAkY4eY9maZuxshccRqAXYmWvShEIGBCgCfdFCKZ4Ba66lSVQKXIP7BBAeJE25hawErYBQ2Z5aCysHQxjTmEXA4"& "RGF/BEZIJ2gM0VHgdMtElHCI8EN54ya4YGCBmbH5vxKgkrGUnCEHaQO1eIVxzZEcIFV0xXnBhXCBNXU1ej6YRUFzLuU0gmAE4D7HdkVxBKWMj1GotZypa01DtVWMh2wUj5T0NQFShkCSxLMQsJ0XyZREhyJks1yBZYrqmVBcyGUTkSSlKQsml8BCKEPR5O3Uw1GIU5aZIFelGhJvkXESTsVFFACOUKg4lIQHccqJbAFhw3wQrpRVAc/mMqG2BCGjPG4JHhKVN5c5UPARUWMEYAlf9lN8AJSGEBQWRkQXRvbUHxSoctEW4KR54JmETMXG0NxmnMEDgyUhJWW4tcq8DUcyGHyBA31B5Ub1fzetJsBfZizTRqdckq6FZoGmtl8Zzk1nJDOhF1cFZhWOz9WkxtT3AmZzKF+mm2SNoUX19kXKu5EluZeAEMf6SWN9dtbwdhYqVkZmZsaKG2EuEHpwVthdDgNNs65WhKtScgBoN9blwyNoTiEVgNVeg0W7IPOO98NRTt9VQr5/9BonCrnRBTSqRoQS87zXbX5i9meUEw+4woT2gnka5zCmw9VP////8PLwokGxYLJQs9EyIuFzXHVYTBEBDwgBQQJR0LGxIXC7e3//8LGRZRCAg+PAYHCBIHDwYkHg8WEggAQAj9F/LkCHsIyBDwwgPwfA0AAfzfWntfTAEIAN5DZkAAdh4A/iN44AAGIQsBAji3LgLEpOkDAhC7aTq+dxALFwQZAQTWvc8O4AwhaQEeACA3lueMbwQQwBBgkstAcnlwmAOA0O7FACEu8gfOBjbYlCKQJMQCYN7pDGwuZNoQMPvH5kL61CgPQC5i1y2FdDsAsAHKUCdlZ7OzZVCSYE8qKtgIky0naRtwmxiNADYsd5apBJCz2dBgTzA0Tfd1t2JyFSeQFjL3FvmFAggAQgNyGy3MCCsbhP9IJ5QAAKZ7"& "bdEEyQQAAAAAAACA/wAAAAAAAAAAAAAAAIB8JAgBD4V9AQAAYL4V0AAQjb7rP///V4PN/+sNkJCQigZGiAdHAdt1B4seg+78Edty7bgBAAAAAdt1B4seg+78EdsRwAHbc+91CYseg+78Edtz5DHJg+gDcg3B4AiKBkaD8P90dInFAdt1B4seg+78EdsRyQHbdQeLHoPu/BHbEcl1IEEB23UHix6D7vwR2xHJAdtz73UJix6D7vwR23Pkg8ECgf0A8///g9EBjRQvg/38dg+KAkKIB0dJdffpY////5CLAoPCBIkHg8cEg+kEd/EBz+lM////Xon3uS0AAACKB0cs6DwBd/eAPwB18osHil8EZsHoCMHAEIbEKfiA6+gB8IkHg8cFiNji2Y2+ANAAAIsHCcB0PItfBI2EMADwAAAB81CDxwj/lozwAACVigdHCMB03In5V0jyrlX/lpDwAAAJwHQHiQODwwTr4WExwMIMAIPHBI1e/DHAigdHCcB0IjzvdxEBw4sDhsTBwBCGxAHwiQPr4iQPweAQZosHg8cC6+Jh6WMZ//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"& "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAABAIwAAQAAAAAAAAAAAAAAAADNAAEAmAABAAAAAAAAAAAAAAAAANoAAQCgAAEAAAAAAAAAAAAAAAAA5QABAKgAAQAAAAAAAAAAAAAAAADvAAEAsAABAAAAAAAAAAAAAAAAAPsAAQC4AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAQEAFAEBAAAAAAAkAQEAAAAAADYBAQAAAAAAPAEBAAAAAABKAQEAAAAAAFwBAQAAAAAAS0VSTkVMMzIuRExMAEFEVkFQSTMyLkRMTABtc3ZjcnQuZGxsAE9MRTMyLmRsbABTSExXQVBJLkRMTABVU0VSMzIuZGxsAAAATG9hZExpYnJhcnlBAABHZXRQcm9jQWRkcmVzcwAAT3BlblByb2Nlc3NUb2tlbgAAZnJlZQAAQ29Jbml0aWFsaXplAABQYXRoRmlsZUV4aXN0c0EAAABFeGl0V2luZG93c0V4AAAAAADeQ2ZAAAAAALwBAQABAAAABAAAAAQAAACUAQEApAEBALQBAQCSEQAAkhQAAH4UAABqFAAAywEBAOEBAQDqAQEA8wEBAAAAAQACAAMARExMZm9ySGltYS5kbGwAR2V0UGF0aFNob3J0Q3V0TGlua0A0AExvZ09mZkAwAFJlQm9vdEAwAFNodXREb3duQDAAAAAA8AAADAAAAB01AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"& "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="を、BASE64デコードして、"{WINDOWSのパス}DLLForHimawari.dll"に、保存。 "{母艦のパス}DLLForHimawari.dll"が、存在。 もし、それでなければ、"インストールに失敗しました。"と、言って、戻る。 "{母艦のパス}DLLForHimawari.dll"の、"int ShutDown(void)"を、""の、"シャットダウン"として、DLLを利用。 "{母艦のパス}DLLForHimawari.dll"の、"int ReBoot(void)"を、""の、"再起動"として、DLLを利用。 "{母艦のパス}DLLForHimawari.dll"の、"int LogOff(void)"を、""の、"ログオフ"として、DLLを利用。 "{母艦のパス}DLLForHimawari.dll"の、"char* GetPathShortCutLink(char*)"を、"?"の、"GetPathShortCutLink"として、DLLを利用。 "リンク先取得"を、"?の"で、関数定義。 それ=存在("{WINDOWSのパス}DLLForHimawari.dll") 戻る。 *リンク先取得 引数取得して、トリムして、『"』を、""に、置き換える。 もし、フルパス(それ)でなければ、0を、それに、入れて、戻る。 もし、(拡張子切出(それ)!&".lnk")ならば、引数取得を、それに、入れて、戻る。 GetPathShortCutLink(それ); 戻る。 *進数変換 引数取得。 それ#0を、それ#1から、それ#2へ、基数変換。 戻る。 *基数変換 引数取得して、トリム。 それ#1=(整数(それ#1)) それ#2=(整数(それ#2)) それ#3=0 それ#4=回数 もし、(それ#1<2)ならば、( それ=(それ#0) 戻る。 ) もし、(それ#1>10)ならば、( それ=(それ#0) 戻る。 ) もし、(それ#2<2)ならば、( それ=(それ#0) 戻る。 ) もし、(それ#2>10)ならば、( それ=(それ#0) 戻る。 ) それ#0=(整数(それ#0)) (文字数(それ#0))回( それ#3=((それ#3)+(POWER((それ#1),((回数)-1)))*((それ#0%10))) それ#0=(整数(((それ#0)/10))) ) それ#0=""; それ#3で、ループ( それ#1=((それ#3)%(それ#2)) それ#0=それ#1&それ#0 それ#3=((整数((それ#3)/(それ#2)))) ) それ#4回(); それ=それ#0 戻る。 *定数定義 //参照:BCC5.51のWINUSER.H //メッセージボックス用定数 /*//ボタンの種類(一つだけ指定) MB_OK = 0 //OKボタンのみ MB_OKCANCEL = 1 //OK・キャンセル MB_ABORTRETRYIGNORE = 2 //中止・再試行・無視 MB_YESNOCANCEL = 3 //はい・いいえ・ャンセル MB_YESNO = 4 //はい・いいえ MB_RETRYCANCEL = 5 //再試行・キャンセル MB_CANCELTRYCONTINUE = 6 //キャンセル・再実行・続行 //表示するアイコン(一つだけ指定) MB_ICONHAND = 16 //停止アイコン MB_ICONERROR = 16 MB_ICONSTOP = 16 MB_ICONQUESTION = 32 //?マークアイコン MB_ICONEXCLAMATION = 48 //!マークアイコン MB_ICONWARNING = 48 MB_ICONASTERISK = 64 //iマークアイコン MB_ICONINFORMATION = 64 MB_USERICON = 128 //不明 //デフォルトのボタン(一つだけ指定) MB_DEFBUTTON1 = 0 //1つ目 MB_DEFBUTTON2 = 256 //2つ目 MB_DEFBUTTON3 = 512 //3つ目 MB_DEFBUTTON4 = 768 //4つ目 //ダイアログの挙動(1つだけ指定) MB_APPLMODAL = 0 //「言う」ダイアログと同じ MB_SYSTEMMODAL = 1024 //常に最前面に表示 MB_TASKMODAL = 4096 //他のアプリケーションへの入力も禁止 //その他の設定(複数設定) MB_HELP = 8192 //ヘルプボタンを追加 MB_NOFOCUS = 32768 //不明(ダイアログにフォーカスを当てない?) MB_SETFOREGROUND = 65536 //不明(同じプロセスのウィンドウに隠れない?) MB_DEFAULT_DESKTOP_ONLY = 131072 //デフォルトデスクトップ(ログオンして最初に表示されるデスクトップ)にのみ表示可能 MB_TOPMOST = 262144 //常に最前面に表示 MB_RIGHT = 524288 //テキストを右寄せ MB_RTLREADING = 1048576 //不明 MB_SERVICE_NOTIFICATION= 2097152 //(NT系専用)ログオンしていなくても表示される MB_SERVICE_NOTIFICATION_NT3X=262144 //MB_SERVICE_NOTIFICATIONと同じ //不明 MB_TYPEMASK = 15 MB_ICONMASK = 240 MB_DEFMASK = 3840 MB_MODEMASK = 12288 MB_MISCMASK = 49152*/ //押されたボタン IDOK = 1 //OK IDCANCEL = 2 //キャンセル IDABORT = 3 //中止 IDRETRY = 4 //再試行 IDIGNORE = 5 //無視 IDYES = 6 //はい IDNO = 7 //いいえ //メッセージボックスここまで /*//バージョン表示用の定数 IDI_APPLICATION = 32512 //DOSアプリのアイコン IDI_HAND = 32513 //×マーク IDI_ERROR = 32513 IDI_QUESTION = 32514 //?マーク IDI_EXCLAMATION = 32515 //!マーク IDI_WARNING = 32515 IDI_ASTERISK = 32516 //iマーク IDI_INFORMATION = 32516 IDI_WINLOGO = 32517 //IDI_APPLICATIONと同じ(どこがWINLOGO?) //バージョン表示用ここまで*/ /*//カーソル変更用ここから //言葉で表現するのは難しいので、自分で試してみてください。 IDC_ARROW = 32512 IDC_IBEAM = 32513 IDC_WAIT = 32514 IDC_CROSS = 32515 IDC_UPARROW = 32516 IDC_SIZE = 32640 IDC_ICON = 32641 IDC_SIZENWSE = 32642 IDC_SIZENESW = 32643 IDC_SIZEWE = 32644 IDC_SIZENS = 32645 IDC_SIZEALL = 32646 IDC_NO = 32648 IDC_HAND = 32649 IDC_APPSTARTING = 32650 IDC_HELP = 32651 //カーソル変更用ここまで*/ /*//ごみ箱空用ここから SHERB_NOCONFIRMATION= 1 //削除の確認を行わない SHERB_NOPROGRESSUI = 2 //削除の進行度表示をしない SHERB_NOSOUND = 4 //削除完了時に音を鳴らさない //ごみ箱空用ここまで*/ 戻る。 //End of File