- 1 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 15:51:24 ]
- スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんやお姉さんたちが答えてくれるかも。 過去スレ、関連リンクは>>2-10くらい。 ■注意 ・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。 ・日本語版MSDN Online Libraryは不完全です。英語版(msdn2.microsoft.com/library/)の利用推奨。 ・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。 ・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで - Win32API質問箱 wiki wiki.livedoor.jp/program1/d/FrontPage Win32API質問箱 Build64 pc11.2ch.net/test/read.cgi/tech/1207099291/
- 116 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 22:28:44 ]
- >>113
オーナードローしてたり?
- 117 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 23:50:08 ]
- >>115
それは十分承知だが、ネイティブAPIのアプリだったらすぐ起動するからね。
- 118 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 23:53:07 ]
- コードのワーキングセットが、コードモーフィング結果のキャッシュをはみ出すと、途端に劇遅になるからな。
- 119 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 02:08:56 ]
- >>117
ネイティブAPIの意味が違う
- 120 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 02:15:10 ]
- NTnativeとは違うのは、文脈から明らかだろう。
- 121 名前:デフォルトの名無しさん [2008/04/24(木) 02:36:06 ]
- 質問があります。IMAGELIST型を読み込みたいと思っています。
ビルドは通るのですが、途中でエラーが出てしまい、原因が分かりません。 同じようなエラーで困った方、解決方法をご教示ください。よろしくお願いします ImageList_LoadImage関数をコメント文にすると実行可能になるので、この部分でエラーが出ているようです。 HIMAGELIST h_img; h_img = ImageList_LoadImage(hInst, (LPCTSTR)IDB_ICON, 15, 0, CLR_DEFAULT, IMAGE_BITMAP, LR_LOADMAP3DCOLORS); エラー内容 'System.TypeLoadException' のハンドルされていない例外が hoge.exe で発生しました。 追加情報 : アセンブリ 'hoge, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' から型 '_IMAGELIST' を読み込めません。 開発環境 VC SDK
- 122 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 04:13:49 ]
- Win32ネイティブをネイティブAPIなんて言う奴初めて見た
- 123 名前:113 mailto:sage [2008/04/24(木) 06:26:34 ]
- >>116
オーナードローしてます。そのせいだとすると、対策なしですね。。。。
- 124 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 08:31:46 ]
- 状況を自分で判断して再描画スキップするぐらいしかないかな
- 125 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 08:42:29 ]
- >>121
hInstに入ってるのは何か? IDB_ICONはなんとdefineされているか?
- 126 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 09:03:14 ]
- そもそもなぜ.NETでWin32のイメージリストを使う必要があるのかね?
- 127 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 09:08:40 ]
- MFCじゃないかぎり、アイコン表示でSDKなら普通使わない?
- 128 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 09:11:30 ]
- .netならSystem.Windows.Forms.ImageList辺り使えば
- 129 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 10:24:35 ]
- より高機能な物がクラスライブラリに付属してるのにわざわざWin32のImageListを使うなんて・・・
まあWin32版の方がリソース消費量は少なかった気はするが
- 130 名前:デフォルトの名無しさん [2008/04/24(木) 10:33:19 ]
- ↑話を理解してない馬鹿
- 131 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 11:47:18 ]
- クラスライブラリとか・・・SDKって書いてあるだろ。
質問の内容を理解せずにMFCなら!MFCなら!とかまんせーすんなよ。
- 132 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 11:57:51 ]
- うるせーデブ
- 133 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 11:59:40 ]
- .netなのにSDKかよ
アホだな
- 134 名前:デフォルトの名無しさん [2008/04/24(木) 12:16:27 ]
- で?
Linuxならそんなもん使わなくてもすぐできるのに。
- 135 名前:デフォルトの名無しさん [2008/04/24(木) 12:34:24 ]
- ↑話を理解してない馬鹿
- 136 名前:デフォルトの名無しさん [2008/04/24(木) 12:55:23 ]
- 135には同意できるw
- 137 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 17:48:12 ]
- DrawFocusRectって単に反転色の点線を描くだけのAPIかと思ってたら、下の色によっては
反転じゃなく濃灰色の点線になったり、下地が青色系とかだと点線じゃなく実線になったりと 結構いろいろやってるAPIだったのね。
- 138 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 17:50:53 ]
- r;ァ'N;:::::::::::::,ィ/ >::::::::::ヽ
. 〃 ヽル1'´ ∠:::::::::::::::::i i′ ___, - ,. = -一  ̄l:::::::::::::::l . ! , -==、´r' l::::::/,ニ.ヽ l _,, -‐''二ゝ l::::l f゙ヽ |、 ここはお前の日記帳じゃねえんだ レー-- 、ヽヾニ-ァ,ニ;=、_ !:::l ) } ト ヾ¨'7"ry、` ー゙='ニ,,,` }::ヽ(ノ チラシの裏にでも書いてろ :ーゝヽ、 !´ " ̄ 'l,;;;;,,,.、 ,i:::::::ミ ::::::::::::::::ヽ.-‐ ト、 r'_{ __)`ニゝ、 ,,iリ::::::::ミ ::::::::::::::::::::Vi/l:::V'´;ッ`ニ´ー-ッ-,、:::::`"::::::::::::::;゙ , な! :::::::::::::::::::::::::N. ゙、::::ヾ,.`二ニ´∠,,.i::::::::::::::::::::/// :::::::::::::::::::::::::::::l ヽ;:::::::::::::::::::::::::::::::::::::::::::/ / ::::::::::::::::::::::::::::::! :|.\;::::::::::::::::::::::::::::::/ /
- 139 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 18:09:14 ]
- ANSIしか対応してない関数でUNICODE文字を含むファイルを開くにはどうしたらいいでしょうか
MoveFileやCopyFileは利用しない方針でおながいします とりあえず思いついたのが8.3形式のショートファイル名を利用する方法だったんですが オプションで生成しないように切り替えられるんですよねえ、これ
- 140 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 18:11:06 ]
- > ANSIしか対応してない関数
具体的に
- 141 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 18:12:31 ]
- 普通に開けばいいじゃないか
何がひっかかって開けないの?
- 142 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 18:13:25 ]
- ImageHelpAPIとか
具体的に言えばMapAndLoadかImageLoadが使いたい
- 143 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 18:24:40 ]
- Unicode文字を含むファイル名を、ANSIのAPIや、
あるいはUnicodeに対応してない古臭いライブラリとかで使いたいんだろうか。 Vistaのシンボリックリンクで別名を作るとかは? MoveFileやCopyFileではないぞ。
- 144 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 18:26:44 ]
- NTFSならCreateHardLinkしちゃえ
- 145 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 18:28:32 ]
- >>143-144
なるほど、それは良さそうですね リンク作成の方向で検討します( ´∀`)
- 146 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 18:29:38 ]
- >>142
EXEやDLLのファイル名にANSI以外の文字を使うこと自体が邪道。 かつては8.3を越える長いファイル名もご法度だったんだ。
- 147 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 18:31:26 ]
- >>146
いやまあそれ以外にも統合アーカイバライブラリのDLLもANSIしか無かったり、色々あるのですお とりあえず、ありがとうございます
- 148 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 18:36:34 ]
- >>146
今のWindows自体にそんな制限など存在しない。 たんにヘタレなPGの言い訳にすぎん。 8.3の制限を持ち出すとなると、当然32bitコードも邪道だと思っているんだよな? ポインタのサイズが今までの倍もあるんだぜ。もったいないじゃないか!
- 149 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 18:43:01 ]
- >>148
> 今のWindows自体にそんな制限など存在しない。 8.3形式の短いファイル名でレジストリや設定ファイルの類いにパスが記録される ↓ 何らかの原因で8.3形式の短いファイル名が一致しなくなる ↓ どぼん そういうのを避けるために8.3形式にしているのをヘタレと言うのなら、どうぞお好きに。 > 8.3の制限を持ち出すとなると、当然32bitコードも邪道だと思っているんだよな? なわけない。
- 150 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 18:44:08 ]
- てかSJIS外の文字をファイル名に使うことってほとんど無いと思うけど
☀.txtとかそんな名前でも付けてるの? >>148 PEヘッダに記録されるファイル名はANSIなんだが それに俺の環境だけなのかは知らんがASCII文字以外を使ってるEXEがタスクマネージャで化ける
- 151 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 18:46:46 ]
- 俺はBig5ならしょっちゅう扱ってる
- 152 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 19:05:57 ]
- >>148
知らないならレスしないでください
- 153 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 19:55:30 ]
- CreateProcess(NULL, "sample.exe", NULL, NULL, FALSE, CREATE_NEW_CONSOLE, NULL, NULL, &si, &pi);
hWnd = FindWindow("sample", NULL); SendMessage(hWnd, WM_CLOSE, 0, 0); この順番に処理させたいんだけどうまくいかない hWndが0になってしまう どうすればCreateProcess→SendMessageが上手くいくようになる? *sample.exeはコンソールアプリ
- 154 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 19:59:44 ]
- >>153
本当にコンソールのタイトルに"sample"なんて表示されてるか? "c:\windows\cmd.exe"とか出てるはずだが
- 155 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 20:01:56 ]
- 言い方がマズイかな
コンソールのタイトルは "カレントディレクトリパス+sample.exe" になるはず
- 156 名前:153 mailto:sage [2008/04/24(木) 20:07:21 ]
- >>154,>>155
FindWindowの第1引数をsample.exeのフルpathにしてもだめ(hWnd=0)でした
- 157 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 20:11:24 ]
- パスって言うかコンソールのタイトルとFindWindowの引数が正確に一致してるのかって話なんだが
大文字小文字の差も含めて 少なくともSpyはタイトル拾えてるから引っかからないって事は無い筈
- 158 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 20:15:37 ]
- ttp://www.uploda.org/uporg1385245.png
ほれ
- 159 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 20:17:08 ]
- >>156
まずはSpy++とかで確認しる。 ちなみに、CreateProcessしてすぐにFindWindowしてる、なんていうオチじゃないだろうな?
- 160 名前:153 mailto:sage [2008/04/24(木) 20:24:56 ]
- CreateProcessの次にFindWindowしてます・・・
- 161 名前:153 mailto:sage [2008/04/24(木) 20:28:12 ]
- 検索してたら見つけたんだけど、この使い方解説お願いできます?
URL:homepage2.nifty.com/DSS/VCPP/API/ProcessEnd.htm BOOL CALLBACK EnumProc(HWND hwnd, LPARAM lParam) { DWORD dwThreadId, dwProcessId; dwThreadId = GetWindowThreadProcessId(hwnd, &dwProcessId); if (dwProcessId == (DWORD)lParam) { PostMessage(hwnd, WM_CLOSE, 0, 0); } return TRUE; } // pi は CreateProcess() したときの PROCESS_INFORMATION EnumWindows(EnumProc, (LPARAM)pi.dwProcessId); ****ここまで引用
- 162 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 20:33:30 ]
- CreateProcessの直後にFindWindowしたら駄目にきまってるだろう。
プロセスが起動した瞬間にウインドウができるわけじゃない。
- 163 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 20:36:07 ]
- >>161
CreateProcessで作成したプロセスが所有するウィンドウにWM_CLOSEをポストしてる 当然CreateWindowで作ったウィンドウを持ってないプログラムにゃ無効
- 164 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 20:38:47 ]
- つかコンソールにWM_CLOSE送るなら
terminateprocessでも使っとけば良いんじゃねえのか
- 165 名前:153 mailto:sage [2008/04/24(木) 20:50:22 ]
- ありがとうございます
>>164 上のURL先に >緊急遮断に使用するものであり,終了するが正常な終了方法ではない とありますが大丈夫ですか? 正常終了するにはどうすればいいですか?
- 166 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 20:53:29 ]
- コンソールにWM_CLOSE送ったってムリヤリ終了してるから気にするな
コンソールプログラムならプログラムが自発的に終了しない限り正常終了しない
- 167 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 20:55:24 ]
- >>165
外部から無理に止めるのが正常な方法であるわけがない。 メッセージを投げてターゲットプロセスが自分で終了するようにするのがまっとうな方法。
- 168 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 20:55:48 ]
- WM_CLOSEをポストする。
キャンセルできるから確実性はないけどな。
- 169 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 20:57:33 ]
- そういう場合はパイプで繋げてシグナルを送信するんだよ
- 170 名前:153 mailto:sage [2008/04/24(木) 20:59:45 ]
- ありがとうございます
望みどおりの動作してくれました
- 171 名前:153 mailto:sage [2008/04/24(木) 21:04:09 ]
- >>167
自力終了 == 正常終了 なんですね覚えておきます >>169 パイプ・シグナルの事も頭に入れておきます
- 172 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 21:24:57 ]
- Googleの弊害だよな。
適当に検索して、それっぽいコードを継ぎ接ぎする、本質を理解しようとしない人間が量産されるのは。
- 173 名前:167 mailto:sage [2008/04/24(木) 21:25:00 ]
- >>171
外部から何かを受け取ることでエラー終了するように作られたものもありうる。 少なくともあるプロセスがどういう状況にあるのかを無視して終わらせるのが正常とは言えない、 ということだ。拡大解釈やめれ。
- 174 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 21:29:47 ]
- そもそも、CreateProcessして即座に終了させるって、無意味だろ。
なぜ外部から終了させる必要があるのか、まずは、そこから話してみ。
- 175 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 21:52:39 ]
- 試してるだけじゃないのか
- 176 名前:153 mailto:sage [2008/04/24(木) 21:58:44 ]
- >>173
わかりました >>174 CreateProcessしたプログラムで処理してる時に 別のプログラムの処理も必要になった時のために メインのプログラムから起動するようにしました どうせやるなら終了もメインのプログラムからした方が 使いやすい(手間がかからない)と思ったからです
- 177 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 22:08:04 ]
- >>153
FindWindowの第一引数はクラス名だぼけ
- 178 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 22:10:04 ]
- HWND FindWindow(
LPCTSTR lpClassName, // クラス名 LPCTSTR lpWindowName // ウィンドウ名 ); ここまで誰も気付かなかったな すげぇw
- 179 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 22:12:44 ]
- LPCTSTR型のクラス?
- 180 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 22:13:19 ]
- ごめん
なんでもない
- 181 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 22:13:54 ]
- ウィンドウクラスというのはだな・・・(ry
- 182 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 22:14:10 ]
- >>176
> どうせやるなら終了もメインのプログラムからした方が > 使いやすい(手間がかからない)と思ったからです なるほど。 その子プロセスは、どういったものなの? また、 その子プロセスの正規の終了条件もしくは終了手順は、 どういったものなの?
- 183 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 22:18:49 ]
- なんという盲点
- 184 名前:153 mailto:sage [2008/04/24(木) 22:22:46 ]
- >>182
1、ある時刻になったらBEEP鳴らして終了 2、文字列をある規則で別の文字列へ変換して待機(別ファイルを読み込む可能性があるため) 3、文字列から特定の文字を削除(同上) etc 2と3はexit入力で終了です
- 185 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 22:49:39 ]
- >>184
えーと、対話的に入力を受付けてるわけね。 で、exitとタイプしてリターンキーを押すと終了、と。 ならば、 WaitForInputIdle() で入力待ち状態になるまで待ち、 コンソールに"exit\n"を送るのが、 正規の終了手段だと思う。
- 186 名前:153 mailto:sage [2008/04/24(木) 23:18:25 ]
- >>185
sampleがSleep中でもWaitForInputIdle()の次の行へ進んでしまいました >プロセスがコンソールアプリケーションである場合〜中略〜WaitForInputIdle 関数は即座に制御を返します。 とmsdnに書いてありました
- 187 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 23:25:47 ]
- あーごめん、じゃぁ、ちょっと面倒だな。
そのsampleも自分で作っていて変更可能なら、 入力待ちするところで、イベントオブジェクトの状態をチェックして、シグナル状態なら終了するようにして、 親プロセスが子プロセスに終了してほしいときに、イベントをシグナル状態にしたらどうよ。
- 188 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 00:08:10 ]
- WaitForInputIdleって対象プロセスが最初にGetMessageを呼ぶまで待機するとかそんな感じだったような
>>186 STARTUPINFO::hStdInput/hStdOutputあたりにMailslotのハンドルを渡せばできた気がする
- 189 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 09:48:31 ]
- 質問です
う
- 190 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 09:49:53 ]
- なんすかwwwwwwwwww
- 191 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 11:39:07 ]
- FileMonで"FASTIO_QUERY_OPEN"ってなるやつって、具体的にはどうやってファイルオープンしてるんでしょうか
NtCreateProcess()とNtOpenProcess()とNtCreateSection()の3つに フックをかけて監視してるんだけどどれにも引っかからない
- 192 名前:デフォルトの名無しさん [2008/04/25(金) 12:06:41 ]
- またネイティブAPIか
- 193 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 12:31:15 ]
- xmlとかYAMLとかをhttpで送受信するのに便利な通信モジュールないかな。
WININETとMFCは試したけど、通信の待ち時間とかを有効に使おうとするととても書きづらい。
- 194 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 13:05:12 ]
- 本当に必要なのは通信の待ち時間とかを有効に使うための知識か
- 195 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 14:00:56 ]
- 通信の待ち時間を使って本を読んでます!
- 196 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 14:52:13 ]
- ワロタ
COMでもいいのかな
- 197 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 14:57:53 ]
- >>172
検索して見つかったコードを自分なりに書き換えるのもまたイイ
- 198 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 15:43:03 ]
- boost::asio
- 199 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 20:14:40 ]
- マルチスレッド化して、その内のあるスレッドで同期系のものによって通信するのも1つの手ではある。
- 200 名前:デフォルトの名無しさん [2008/04/25(金) 21:05:53 ]
- TCP通信ってさ、勝手に同期とって転送してくれるんじゃないの?
俺、TCPで同期とか考えたことないんだけど。。考えが間違ってたらご指摘plz
- 201 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 21:16:26 ]
- じっと待ってられないせっかちさんと、途中でキャンセルしたくなる優柔不断さんのため
- 202 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 21:26:36 ]
- WinInetには非同期モードあるぞ、一応。
- 203 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 21:33:35 ]
- DLLでエクスポートされたデータ変数について、
ちょっとお聞きしたいことがあります。 例えば、変数をエクスポートする際 __declspec(dllexport) int *dll_val; と宣言すれば、メイン側からこの変数は __declspec(dllimport) int **_imp__dll_val = &dll_val; と同じように扱われると、最近msdnで知りました。 なので、メイン側からのこの変数への参照が、アセンブラレベルでは DWORD PTR [_imp__dll_val] のようになると予想していました。 VC2005のデバッグモードでは、確かにそうなっていました。 しかし、リリースモードでは、なぜかそうなっていませんでした。 これに対応する個所が offset _imp__dll_val のように書き換えられていたのです。 これを行うためには、_imp__dll_valのアドレスが事前に決まってなければならないと思うのですが、 ベースアドレスが固定のwindows dllで、このようなことは可能なのでしょうか?
- 204 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 21:51:41 ]
- リロケート情報あるんじゃないのかな
- 205 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 22:01:45 ]
- ベースアドレス固定ってntdllとkernel32ぐらいじゃね?(Vistaは知らん)
- 206 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 22:46:14 ]
- >>191
おそらくは各ドライバ(ntfs.sysとかかな)のFastI/Oディスパッチルーチンの呼び出し _FAST_IO_DISPATCH構造体でぐぐれば情報はでる あくまで推測だけど
- 207 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 23:10:38 ]
- >>204
dllでリロケートする場合って、必要な全アドレスを書き換えますよね。 この場合、間接ポインタではなく'offset _imp__dll_val'で変数を使うことは可能なのでしょうか? >>205 すいません。ベースアドレス固定ではなく、 「dllごとにベースアドレス固定」が正しい表現でした。
- 208 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 23:26:48 ]
- ねぇ、もうWinFXみたいなのって作らないの?
- 209 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 23:29:19 ]
- WinFXって.NET3.0だろ
- 210 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 23:34:25 ]
- 既に完成したものをまた作ってどうすんだろうね
- 211 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 00:06:16 ]
- >>200
それ同期違う。 ここでの同期は、転送が完了してから制御を返すこと。 逆に、転送が完了するのを確認せずに制御を返す関数が非同期。
- 212 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 01:12:23 ]
- 入力されたパスのフォルダに入っているファイルを
リストコントロールに表示させているのですが、 この時のパスを格納するための配列は256バイトあれば大丈夫ですか?
- 213 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 01:13:54 ]
- せめてMAX_PATH。
- 214 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 01:16:08 ]
- 成る程260バイトですか、ありがとうございます。
- 215 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 01:23:25 ]
- >>214
そのレスだと平気で p = (LPTSTR)malloc(260); とか書きそうな雰囲気だな まあ俺には関係ないからどうでもいいが
- 216 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 07:40:27 ]
- >>215
そのように書く事によって何か問題が起こるとは予想がつかないのですが、 相応しくない書き方、という事ですね、 すみませんが、理由を知りたいです。
|

|