- 1 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 18:56:13 ]
- 1 名前:デフォルトの名無しさん[] 投稿日:2009/08/02(日) 00:20:49
スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。 やさしいお兄さんやお姉さんたちが答えてくれるかも。 「知らないならレスしないで下さい。ウザイだけです。 」なんて言わないでねっ! 過去スレ、関連リンクは>>2-10くらい。 ■注意 ・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。 ・日本語版MSDN Online Libraryは不完全です。英語版( msdn.microsoft.com/en-us/library/ )の利用推奨。 ・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。 ・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで - Win32API質問箱 wiki wiki.livedoor.jp/program1/d/FrontPage Win32API質問箱 Build81 pc12.2ch.net/test/read.cgi/tech/1249140049/l50
- 147 名前:デフォルトの名無しさん [2009/10/01(木) 18:43:20 ]
- CreateきえろぶっとばされんうちになIndirect(&きえろぶっとばされんうちにな);
- 148 名前:デフォルトの名無しさん mailto:きえろぶっとばされんうちにな [2009/10/01(木) 18:47:06 ]
- 荒らしウザイ
- 149 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 18:57:17 ]
- #include "きえろぶっとばされんうちにな.h"
- 150 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 00:19:09 ]
- C++ == おちんちんプラプラ
- 151 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 00:24:05 ]
- いや、つまんないから
- 152 名前:片山博文MZ ◆BVYGEn4LD2 [2009/10/02(金) 12:47:32 ]
- CellSheet
www1.axfc.net/uploader/Sc/so/41724.zip バグ報告よろしく。
- 153 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 12:48:04 ]
- IEのHTMLレンダリングエンジンを自分のウィンドウにくっつけて操作する方法を教えてくれ
- 154 名前:デフォルトの名無しさん [2009/10/02(金) 14:03:48 ]
- きえろぶっとばされんうちにな
- 155 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 16:32:58 ]
- APIと直接関係ないです
- 156 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 17:01:15 ]
- WindowsAPIでウィンドウを作成した時にウィンドウサイズの変更を禁止したいのですがどうしたらいいんでしょうか?
WM_SIZEのメッセージ処理で何もしないようにしてみましたがだめでした
- 157 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 17:04:10 ]
- ウィンドウスタイルから WS_THICKFRAME を外す
- 158 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 17:04:58 ]
- ウィンドウスタイルからWS_THICKFRAME、WS_MAXIMIZEBOXを引く
- 159 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 17:13:59 ]
- WM_GETMINMAXINFOとかWM_WINDOWPOSCHANGINGで適当に処理する
- 160 名前:デフォルトの名無しさん [2009/10/02(金) 17:33:19 ]
- きえろぶっとばされんうちにな
- 161 名前:デフォルトの名無しさん [2009/10/02(金) 17:38:07 ]
- きえろぶっとばされんうちにな
- 162 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 17:59:25 ]
- 関数で処理を行った後に表示を変更しようと
UpdateWindowを呼び出して処理させているのですが、ウィンドウを一度隠してから 再描画させないと表示が更新されません・・・。 なぜでしょうか?
- 163 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 18:07:34 ]
- InvalidateRect
- 164 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 18:07:45 ]
- すでに表示されているから
UpdateWindowは、ウィンドウに無効領域があってメッセージループに戻れば更新されるはずの状況で、 メッセージループに戻るまで待てず今すぐ更新したいという場合に、すぐにWM_PAINTを届けてくれる関数 無効領域がない場合は何もしない InvalidateRectで無効化すればおk
- 165 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 19:20:42 ]
- UpdateWindow+InvalidateRect=RedrawWindow
- 166 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 19:22:58 ]
- >>165
不正解
- 167 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 19:31:15 ]
- >>166
何が違うのさ
- 168 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 20:28:26 ]
- MSDN読んで来い
RedrawWindowはリージョンも指定できるし有効化もできるし非クライアント領域や子ウィンドウに最描画を促すこともできる
- 169 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 01:21:36 ]
- コンソールAPIについての質問なんですが、cmd.exeでF2やF4、F7キーを押した時のように
矩形の枠を表示してキー入力をプロンプトからそちらに移すといった処理のコードサンプルを教えてください
- 170 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 01:25:04 ]
- きえろぶっとばされんうちにな
- 171 名前:デフォルトの名無しさん [2009/10/03(土) 03:53:09 ]
- きえろぶっとばされんうちにな
- 172 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 03:57:00 ]
- きえました
- 173 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 05:00:35 ]
- あらわれました
- 174 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 05:20:27 ]
- きえるぶっとばされんうちにな
- 175 名前:デフォルトの名無しさん [2009/10/03(土) 13:13:52 ]
- きえろぶっとばされんうちにな
- 176 名前:デフォルトの名無しさん [2009/10/03(土) 15:35:25 ]
- ファイルを削除(DeleteFile)することなく、削除が可能かを判断したいのですが、
よい方法はあるでしょうか。 権限やファイルがオープン済みである場合はCreateFileが失敗するかで判断出来そうなのですが、 実行中のEXEやロード済みのDLLではCreateFileが成功してしまいます。 削除可能かを知りたい理由ですが、利用しているライブラリで要求されているためです。 よろしくおねがいします。
- 177 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 15:47:16 ]
- きえろぶっとばされんうちにな
- 178 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 15:51:11 ]
- >>176
ない。
- 179 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 16:03:52 ]
- 確認した直後に別の誰かが削除不可にセットするかもしれないしな
- 180 名前:デフォルトの名無しさん [2009/10/03(土) 16:37:27 ]
- きえろぶっとばされんうちにな
- 181 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 17:02:17 ]
- >>178
諦めがつきます。すっきりしました。 >>179 確かにそうですね。
- 182 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 17:12:15 ]
- SFGAO_CANDELETEはどう?
APIじゃなくてIShellFolder::GetAttributesOf のCOMつかうけど
- 183 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 18:32:26 ]
- ハズレ
- 184 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 18:51:48 ]
- FILE_SHARE_DELETEつけて開ければ消せるんじゃ
- 185 名前:デフォルトの名無しさん [2009/10/03(土) 19:03:51 ]
- きえろぶっとばされんうちにな
- 186 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 19:20:01 ]
- >>182
情報ありがとです。まだ試せておらず、ぐぐり中です。 ただ、エクスプローラのメニュー上では実行中EXEも削除が選べるので、厳しそうに見えました。 試せましたら、報告します。 >>184 実行中のEXEやロード済みのDLLは削除には失敗しますが、 FILE_SHARE_DELETEをつけてもつけなくても開けてしまうので困ってます。
- 187 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 20:40:39 ]
- きえろぶっとばされんうちにな
- 188 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 20:55:23 ]
- エロぶっとばされんうちにな
- 189 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 20:58:04 ]
- >>182
試しましたら、実行中のEXEでもSFGAO_CANDELETEが有効でした。 情報ありがとうございました。諦めたいと思います。
- 190 名前:デフォルトの名無しさん [2009/10/03(土) 21:19:36 ]
- きえろぶっとばされんうちにな
- 191 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 21:38:20 ]
- ぴえろぶっとばされんうちにな
- 192 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 21:52:04 ]
- きえろぶっとばされんうちにな
- 193 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 22:01:11 ]
- もえろぶっとばされんうちにな
- 194 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 22:15:29 ]
- GENERIC_WRITEのみでCreateFileして
INVALID_HANDLE_VALUEが返るなら起動してるのでは?
- 195 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 09:59:54 ]
- >>194
これでいけそうです。有難うございます。 (試していたときはGENERIC_WRITEではなくてDELETEを使ってました。)
- 196 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 10:56:02 ]
- VSS に対応できる?
- 197 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 11:54:42 ]
- readonly属性がついてるとGENERIC_WRITEは失敗するが削除はできるだろ
- 198 名前:片山博文MZ ◆BVYGEn4LD2 [2009/10/04(日) 14:00:23 ]
- CellSheet ver. 0.0
www1.axfc.net/uploader/Sc/so/42369 すごいものを完成した。 ExcelやDataGridViewみたいなGUIがC++で簡単に実現できちゃう。
- 199 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 14:30:53 ]
- >>176
コイツ、 > 諦めたいと思います と言っておきながら何時まで粘着してんだ
- 200 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 14:35:00 ]
- DB のトランザクションみたいなことはできないんだから、
仮に判定に成功したからって、実際に削除するまでの間に 状況が変わることはありうるだろ? 何度も言われてるけど、「削除できるか?」なんてのは、意味のない判定なんだよ。
- 201 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 14:35:03 ]
- そのものズバリなAPIがあるのに誰も教えてあげなくてワロタw
- 202 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 14:36:15 ]
- >>201
自己紹介乙
- 203 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 14:37:29 ]
- >>200
> DB のトランザクションみたいなことはできないんだから、 DeleteFileTransactedも知らんのか。
- 204 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 14:39:20 ]
- 今時TxFも知らないなんてWin32プログラマとしては恥だな
- 205 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 14:41:34 ]
- 諦めないのはいいことだ
- 206 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 14:48:18 ]
- へー、Vista 以降で使えるのか。勉強になった。dクス。
- 207 名前:片山博文MZ ◆BVYGEn4LD2 [2009/10/04(日) 14:51:36 ]
- >>198
起動して位置を移動させずに最初に日本語を入力したときの、 CompositionWindowの位置がおかしいのだけど、どうすれば、 セルの上にCompositionWindowを表示させればいいでしょうか? www1.axfc.net/uploader/Img/so/61185.jpg
- 208 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 15:07:19 ]
- ふと思ったんだけど、
CreateFile等のAPIをフックして〜Transacted系へリダイレクトするソフトを作ったら サンドボックス的なものが出来そう?
- 209 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 15:33:06 ]
- >>199
回答をもらっておいて、諦めてるからもういいです、とは言えないので。 >>200 ライブラリで要求されていたので。 ライブラリのサンプルでも起動中EXEは考慮されてなかったんで、しょうがないですね。
- 210 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 15:45:46 ]
- >>208
commitはどうすんだ?
- 211 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 15:50:17 ]
- コミットしないんだろ、サンドボックスだから
実行終了したらすべてロールバック
- 212 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 15:52:39 ]
- CommitTransactionがあるだろ
- 213 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 22:00:15 ]
- ↑話を理解しないバカ
- 214 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 00:45:10 ]
- _UNICODEってどういう状況で定義されるの?
- 215 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 00:46:32 ]
- Windows環境内で言うなら取り扱いはすべてうにこーどのはず
- 216 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 00:55:38 ]
- じゃ、APIに渡す文字列を書くときにLが必須になるということ?
- 217 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 00:56:51 ]
- >>214
UNICODEを定義していたら。 もっとも、普通はUNICODEと共に両方定義するほうが普通(Visual Studioではそうなる)。
- 218 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 01:18:07 ]
- 質問をしっかりかかなくてすみません。
_Tというマクロがあっても無くても動いているように見えるんだけど、 そもそもなぜこんなマクロが必要なのか、それを調べていてはまってしまいました。 ここでいうUNICODEってUTF8とは違うよね?
- 219 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 01:34:12 ]
- Windows で Unicode といったら大体は UTF-16LE のことを指す
_T は文字列定数を ANSI と UNICODE の両対応にするためのマクロ ANSI ビルド場合 _T("foo") → "foo" UNICODE ビルドの場合 _T("foo") → L"foo" のように展開される
- 220 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 01:43:29 ]
- >>219
ANSIビルドとUNICODEビルドはどう違うんですか? 例えばgccでコンパイルするときはANSIだと思うけど、WindowsXPでは動いているし…
- 221 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 01:45:01 ]
- 自己解決しました、質問する前に検索すべきでした。すみません。
ambiesoft.ddo.jp/blog/archives/1161 ------------------------------ UNICODEでビルドする利点と欠点 利点 NT系OSで速くなる?NT系OSは内部的にUNICODEを使っているので、ANSI→UNICODEの変換が不要になる。 韓国語や中国語が使えるようになる。 日本語以外のNT系OSでも文字化けしないで実行できる。(フォントがある場合) 欠点 98系OSで動かなくなる。 Visual Studio 2008からデフォルトでUNICODEビルドになった。 ------------------------------ 日本人相手にしているだけなら、ANSIでいいわけですね
- 222 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 02:15:37 ]
- 日本人相手こそUNICODEだろ。
Shift_JISの2バイト文字よりUTF-16のほうが楽とは言えなくなってきたけど。 Windowsの場合、第三水準/第四水準漢字なんかはUnicodeでないと使えないし、 最近はMS-IMEもATOKもそんなShift_JIS外の文字を使った言葉も注意付きながら候補に表示するようになってきたし。
- 223 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 03:02:54 ]
- うにこーどうめぇ
- 224 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 03:15:33 ]
- >>218 >>220
MessageBoxA() ↓ MessageBoxW()
- 225 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 03:24:15 ]
- 非表示状態のwウィンドウを表示させようと、自プロセス内の他スレッドからShowWindow(hwnd, SW_SHOW)と呼んでも、
ウィンドウが非アクティブの状態で表示されてしまいますが、なんらかの制約が働いているんでしょうか。
- 226 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 03:28:30 ]
- スレッドまたいでる場合は制約が働いています
- 227 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 03:34:35 ]
- ありがとうございます。
AttachThreadInputかSetForegroundWindowなどを別に呼ぶ必要がありそうです。
- 228 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 07:57:34 ]
- ぶっとばされろきえんうちにな
- 229 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 08:16:21 ]
- あ?やんのか?
- 230 名前:デフォルトの名無しさん [2009/10/05(月) 14:03:50 ]
- きえろぶっとばされんうちにな
- 231 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 14:24:41 ]
- はい
- 232 名前:デフォルトの名無しさん [2009/10/05(月) 15:40:35 ]
- きえろぶっとばされんうちにな
- 233 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 15:43:43 ]
- はい
- 234 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 16:01:37 ]
- あ?やんのか?
- 235 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 16:04:17 ]
- はい
- 236 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 16:43:47 ]
- きえろぶっとばされんうちにな
- 237 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 17:04:23 ]
- はい
- 238 名前:デフォルトの名無しさん [2009/10/05(月) 17:21:15 ]
- はい
- 239 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 18:02:45 ]
- はいじゃないが
- 240 名前:デフォルトの名無しさん [2009/10/05(月) 18:08:18 ]
- きえろぶっとばされんうちにな
- 241 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 18:27:05 ]
- きえました
- 242 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 20:07:42 ]
- ぶっとばされろきえんうちにな
- 243 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 20:32:01 ]
- 何か裏技の発動条件みたいだw
- 244 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 21:59:59 ]
- ほーっ ほーっ
- 245 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 22:00:13 ]
- ほーたる来い
- 246 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 22:00:23 ]
- こっちのみーずは
- 247 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 22:00:31 ]
- 中国産
|

|