[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2chのread.cgiへ]
Update time : 05/31 07:10 / Filesize : 149 KB / Number-of Response : 697
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Win32API質問箱 Build86



1 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 15:23:00 ]
スレ立てるまでもない、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質問箱 Build85
pc12.2ch.net/test/read.cgi/tech/1262430441/

152 名前:デフォルトの名無しさん mailto:sage [2010/02/14(日) 22:36:15 ]
WM_SETCURSOR

153 名前:デフォルトの名無しさん mailto:sage [2010/02/14(日) 23:34:42 ]
HCURSOR cur = SetCursor(LoadCursor(NULL,IDC_WAIT));
したあとはWM_SETCURSORでreturn 0;するようにしたけど
状況かわらずでした。

154 名前:デフォルトの名無しさん mailto:sage [2010/02/14(日) 23:38:35 ]
>カーソルがウィンドウ上にある間ずっと表示される
>ようにカーソルを設定する場合には、指定されたウ
>ィンドウのウィンドウクラスで設定されるクラスカ
>ーソルが 0 (NULL) になるようにします。クラス
>カーソルが 0 (NULL) でない場合、システムはカー
>ソルが動かされるたびにクラスカーソルに戻します。
yokohama.cool.ne.jp/chokuto/urawaza/api/SetCursor.html

155 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 00:11:43 ]
>>154
デフォルトで表示するカーソルはなしにしておいて
WM_SETCURSORの都度表示するカーソルを任意に指定するってことね
脳みそ足りなくて理解に時間がかかりますた


156 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 01:08:34 ]
脳みそとクソ知識が足り過ぎていて理解の邪魔をしてるんだろな

157 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 19:59:11 ]
CPUのインストラクションキャッシュをクリアするような
APIがあったと思うんですが名前を忘れてしまいました。
ご存じの方いらっしゃいませんか?
やりたいことは実行時にコードを書換えながら実行するというようなことです。

158 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 20:04:45 ]
FlushInstructionCache

159 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 20:10:03 ]
プロセスハンドルからメモリに展開してるプロセスのサイズとかってどうやって取得していますか?

160 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 20:10:53 ]
>>158
そのまますぎて吹いた orz
ありがとうございます



161 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 20:17:10 ]
>>159
ヒープのスナップショット取って合算するくらいしか思いつかない

162 名前:159 mailto:sage [2010/02/15(月) 20:33:49 ]
>>161
別なアプローチがあるかと思って聞いたのですが、
やはりそれしかないですか

ありがとうございました。

163 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 23:11:06 ]
エディッタなどの編集画面は、RichEditコントロールとかが使われているのでしょうか?
それともウィンドウに直接”描画?”してるのでしょうか??

後者の場合、マウスでハイライト選択するのは、どうやって実現しているのでしょうか。
マウスの押し下げメッセージを捕らえるとして、どんな関数を使うのでしょう?

164 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 23:23:14 ]
SPY++やフックでぐぐれ

165 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 23:56:38 ]
CreateProcessで生成したときのLPPROCESS_INFORMATION構造体のプロセスIDで
CreateToolhelp32SnapshotのTH32CS_SNAPMODULEを指定して実行したら
エラーになるんですが、何か心あたりがある方はいますか?

166 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 00:02:54 ]
>>163
HTMLでクリッカブルマップ辺りを使ったページを
作ってみると「霊感(インスピレーション)」を得れるかも

167 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 00:03:56 ]
他人に聞く前にOSに聞け。

168 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 11:12:25 ]
>>163
マウスのY座標からそこが何行目かを計算する (例えばフォントの高さで割るとか)
マウスのX座標と行数からそこが何文字目かを計算する (例えば行中の文字幅を1文字ずつ数えるとか)
求めた位置に基づいて選択範囲を保持する変数を変更し、その部分を再描画する
各文字を描画するとき選択範囲内だったらその文字は背景色付きで描き、選択範囲外だったら普通に描く
およそこんな感じ

169 名前:163 mailto:sage [2010/02/16(火) 15:07:49 ]
ありがとうございます。
…、すごい”低レベル”なことをするんですね。C言語ではじめて文字列操作を
やろうとした頃を思い出しました。

170 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 15:12:54 ]
低レベルも何も、隠匿されてるだけであらゆる環境の同じ目的の関数は、
全て同じような手順で実現されてるんじゃないの?



171 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 15:26:02 ]
Win32アプリケーションでAllocConsoleを使わずにコンソール画面を表示する方法はありますか?

172 名前:デフォルトの名無しさん [2010/02/16(火) 15:58:32 ]
知らないならレスしないで下さい。ウザイだけです。。。

173 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 16:07:04 ]
>>172
そういう無意味に煽るだけのレスは、せめてどのレスに向けたものか示しておけよ。

174 名前:デフォルトの名無しさん [2010/02/16(火) 16:13:23 ]
>>173
知らないならレスしないで下さい。ウザイだけです。。。

175 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 16:19:25 ]
>>171
コンソールアプリを起動してAttachConsole

176 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 23:06:55 ]
>>175
ありがとうございました。

177 名前:デフォルトの名無しさん [2010/02/17(水) 15:33:54 ]
editウィンドウをただの黒い線の枠じゃなく
立体的なデザインにするには?

178 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 15:56:11 ]
テキストエディタ作ると結構奥が深いんぜ
最大の敵は垂直スクロールバーとウィンドウ幅に合わせた行折り返し

179 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 17:20:51 ]
えっ

180 名前:デフォルトの名無しさん [2010/02/17(水) 18:40:12 ]
ええっ



181 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 20:20:25 ]
・・・そんなに難しいか?

182 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 20:21:48 ]
テキスト編集は編集中のデータ管理だろう
まあListと同じで部品化すれば問題ないか

183 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 22:55:56 ]
メモ帳みたいにテキストボックス貼り付けるだけなら簡単だが、
秀丸みたいに内部データ管理から画面描画まで全部作って実用的な速度で動かすのはかなり大変
まあ最近はCPUが速いしメモリも大量に積んでるから、そういう環境限定なら難易度は下がるけど

184 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 23:30:23 ]
逆。難易度は逆に上がる。手に馴染むのが決め手なコントロール系
の製品開発は、遅いプロセッサで負荷をかけた状態でテストされ
プロトタイプが出来てからも何回も書き直される。
速いマシンで製品レベルのものが作れるのは余程の経験者か天才。

185 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 23:35:36 ]
お前らが作ったことが無いのは分かった


186 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 23:57:10 ]
俺ちょうど今作っててやとスクロールできるようになったぐらいなんだけど
>>178の言ってることはわかるような気がするよ、場合分け増えるし

たとえば一行が長くて折り返しがある行の時に右端にカーソルがある時
折り返す前の行の右端と折り返した後の行の左端は(ドキュメント的には)同じ位置
しかし画面では別の位置なのでカーソルを移動させたときに
前行の一文字手前で次の行にいくか、
次行の先頭行の最初の位置にカーソルがいかないようにするか
改行で表示行が変わってるときとでは動作が異なるから場合分けが増える

この辺ソフトによって動作が違ってて、GreenPadは後者、Terapadは前者だった

187 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 07:41:17 ]
両方に表示しちゃえばいいじゃない

188 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 08:43:33 ]
貴様らスレ違い


189 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 17:22:09 ]
スレ違いを承知で質問です。
(A) と (B) で見る AppriData構造体のデータは、整合性が取れてると思うのですが違いますか??
***** Main.c ****
struct AppriData;
main() {
  funcA();
}
*****************

**** funcA.c ****
extern struct AppriData;
funcA(VOID) {
  AppriDataを処理;     (A)
  ……
  funcB();
}
*****************

**** funcB.c ****
extern struct AppriData;
funcB(VOID) {
  ……
  AppriDataを処理;     (B)
}
*****************

190 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 17:43:10 ]
>>189
スレ違いと分かってて質問するなよ



191 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 18:35:31 ]
すいません、、、他所のスレがあまりに下らないので、みなさんにお願いします。

192 名前:デフォルトの名無しさん [2010/02/18(木) 18:45:01 ]
m9(^Д^)プギャーーーッ

193 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 18:57:09 ]
appliだろjk

194 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 20:39:03 ]
まずは変数宣言しろよ

195 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 21:38:49 ]
>>189
>整合性が取れてる
の意味がわかりません

196 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 22:09:57 ]
構造体はヘッダに書いて include 汁

197 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 01:47:47 ]
もうだめだこのスレ

198 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 08:55:47 ]
まじでか

199 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 09:50:19 ]
スレの存在自体無理がある
まともな質問の回答はMSDNに書いてある
MSDNに回答が無い質問は環境依存

200 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 10:02:06 ]
まじでか



201 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 11:28:26 ]
>>199

それマジで言ったん?ソースあんならすぐ出せ
マジなら2ちゃんねら総力を上げて潰すが


202 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 11:30:08 ]
MSDNを潰すのは勘弁してくれw

203 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 11:31:54 ]
総力ってお前誰だよ
今ふと思ったが
妙に「ねらー」とか「2ちゃんねら」とか言うの多いな
なんつうかν速慣れしてなそうな感じの


204 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 11:36:40 ]
一応突っ込んどくがそれ最近流行ってるコピペなんだぜ・・・釣りだったかな?

205 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 11:44:39 ]
しらんかった。

206 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 11:53:21 ]
一応突っ込んどくがそれ最近どころか数年前に流行ったコピペなんだぜ・・・釣りだったかな?

207 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 12:10:12 ]
>>201,>>203-204の流れまでがコピペなんだぜ・・・釣りだったかな?

208 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 12:11:20 ]
最初に言った人はマジなんだろうな

209 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 13:15:18 ]
はじめに見たのは1年半くらい前だった希ガス

210 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 17:27:27 ]
一応突っ込んどくがそれ最近流行ってるコピペなんだぜ・・・釣りだったかな?



211 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 18:42:30 ]
「総力を上げて潰す」は2007年7月頃に流行

212 名前:デフォルトの名無しさん [2010/02/19(金) 18:49:20 ]
ウィンドウサイズの変更時などノ時
ステータスバーに表示された文字が再描画されないんですが
どうしたらいいの?

213 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 21:44:36 ]


214 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 21:45:57 ]
おっ、書けた。

それでは質問させてください。
Windows Vista以降で、タイトルバーに3つのシステムボタンに加えて独自のボタンを自分のアプリのウィンドウに表示したいのですが、
どういう風に書けばいいでしょうか?
C#で書いてますが、C/C++の書き方で構いません。

215 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 22:14:50 ]
WM_NCPAINTで描く。

216 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 22:18:40 ]
>>215
それは最初に試しましたが、
Aeroが有効時にはDefWindowProcの呼び出しで完全に描画されてしまい、
その後から書いても書き込んだ内容が見えません。

217 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 22:27:55 ]
keybd_eventでalt+numpadの文字入力はできないの?

218 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 22:57:08 ]
>>217
Altキーはメニューが受け取るようにWindows自体が作られているから、
そういうショートカットキーは避けた方がいいんじゃね?

219 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 22:59:19 ]
>>214
BITMAP作ってリソース読み込めばいいんじゃない?

220 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 23:01:53 ]
>>219
おっしゃることがよく分かりません。
タイトルバーをなるべくOS標準のまま、必要最小限のカスタマイズをしたいのですが。
描画さえちゃんとできれば、クリックの受け取りはさほど難しくなさそうです。



221 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 23:30:54 ]
あーすまん
ツールバーと勘違いしてた

222 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 00:18:36 ]
>>216
msdn.microsoft.com/en-us/library/bb688195(VS.85).aspx
これの「Drawing in the Extended Frame Window」のところ。
DWM (Aero)環境下で、ウィンドウ全体をクライアント領域にするという方法がある。
これで、ウィンドウ全体を好きに描画できるようになる。
引き替えに、WM_NCHITTESTを自分で処理しなければいけないのが面倒。

その記事にもあるように、MS Office 2007も
これを使ってタイトルバー部分に食い込んで描画している。

223 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 00:47:18 ]
GDI製のボーダーを持たないWindow(ガクブチ)を作って
独自のボーダー(ボタン付き)にする。
クライアント領域は下のウィンドウをそのまま
書く。(Timerで定期的に下のウィンドウの更新を
チェック。自分のウィンドウに来たメッセージは
下のWindowに当然SEND)
この方法ってWindowが動いた時とかサイズが変わった
時、ちょっとみっともないこともなくもないけど
手軽でイくね?(もちょっとイイ小技もあるらしいが)

224 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 02:25:01 ]
>>222
おおっ! これぞドンピシャ!
しかし紹介いただいたサンプルを動かしてみてるところですが、
挙動が摩訶不思議でまだ大意がつかめてません。
(特にウィンドウメニューと組み合わせると……)
コードだけじゃなくて記事本文も読まないといけないみたい。
でもこの延長線上でなんとかなりそうです。フレームの挙動がちゃんと変わってるし。

>>223
そういう方法もありだとは思います。GOMプレーヤーとかスキンを活用する系統では
そちらの方が逆にスマートかもしれないし。
でも面倒くさそう……。
今予定してるのはボタンを1個追加するだけなので。

225 名前:デフォルトの名無しさん [2010/02/20(土) 12:28:03 ]
全角文字の1バイト目かどうかを判断するAPIを教えてください

226 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 12:30:40 ]
文字コードは?

227 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 13:01:17 ]
CharNext(p) - p >= 2

228 名前:デフォルトの名無しさん [2010/02/20(土) 13:09:47 ]
しふとJISですぅ

229 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 13:16:57 ]
S-JISなんてAPIいらねーだろ
半角はアスキーコード互換、全角用もアスキーコードの空き部分の
コードを利用してるだけなんだし

230 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 13:38:43 ]
IsDBCSLeadByte
IsDBCSLeadByteEx



231 名前:デフォルトの名無しさん [2010/02/20(土) 13:41:37 ]
>>230
ありがとうございます。>>229のクズとは大違いで助かりました。

232 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 13:57:30 ]
複素数を表現するクラスMultiElemNumを作りました。
APIでは、どうするのです。か

233 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 14:18:50 ]
何をどう答えればよいのです。か

234 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 15:39:15 ]
単語「API」の用例と
あとは・・正しい日本語の使い方日本語をお願いします。

235 名前:デフォルトの名無しさん [2010/02/20(土) 16:58:41 ]
>>232
MultiElemNumが英語になっていない。Complexが正しい。

236 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:17:54 ]
printfだって英語になってないがな
もしかして「適切な訳語」のことを言いたかったのか

237 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:29:02 ]
>>225
マルチすんな

238 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:29:17 ]
わかってるんなら、わざわざ聞くなよ。

239 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:36:08 ]
開き直ってその態度。笑っちゃうね。笑わないけど。

240 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:37:46 ]
>>225>>232は同じ人間のような気がする



241 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:38:10 ]
何言ってんだ。

242 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:41:43 ]
>>241

243 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:44:32 ]
条件反射的に一言多いというかなんとうか
そういう人間がそうそう近い時間に複数来るってのは無いしな

244 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:47:08 ]
>>242
241は239当てな。

245 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:48:50 ]
何言ってんの

246 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:51:26 ]
条件反射的に一言多いというかなんというか
そういう人間がそうそう近い時に複数来るってのは無いしな

247 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:52:09 ]
>>245
いや、「開き直って」とか言われたから、何考えてるんだろうと思って、241のレスしただけのこと。

248 名前:デフォルトの名無しさん [2010/02/20(土) 18:53:22 ]
ではやはり上げておくべきですね。

249 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:56:45 ]
いいからAPI出せや

250 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 19:06:38 ]
APIを出す話だったのか



251 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 19:11:07 ]
わろた >>249は天然


252 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 19:19:06 ]
ふぁびょおおおおってんなよ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<149KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef