トップページ⇒tech
279コメント79KB

Win32API質問箱 Build13

■ このスレッドは過去ログ倉庫に格納されています
0001前スレ953NGNG
.NET Framework!? 知らんな!!
そんなヤル気のあるネィティブプログラマ集まれ!
スレ立てるまでもない、Win32APIについての質問はこちらへどうぞ。
やさしい お兄ちゃん 達が答えてくれるかも。
でも、質問する前に検索ぐらい汁!!
過去スレ・参考は>>2 ぐらい...
0229>>2ちゃんねらーの皆さんNGNG
(1-4件目)  http://www.z-shoten.or.jp/
http://www.tctv.ne.jp/matuti/
http://www5b.biglobe.ne.jp/~ryumyoin/
http://www1.ocn.ne.jp/~tatsueji/
(5件目)
寺院名    吉祥山唐泉寺
通称     江戸川不動尊
所属宗派  真言宗泉涌寺派
住所     〒133−0051
        東京都江戸川区北小岩七丁目10−10
        京成電鉄の小岩駅から徒歩約15分
        (JR線の小岩駅は、
        京成電鉄の小岩駅とはもの凄く離れているので不可。)
電話番号  03−3658−4192
住職     高田正圓
        (女住職で、先代住職(高田真快)の奥さんであった模様。) 
本尊     不動明王
祈祷日及び祈祷時刻
        通常は毎日午前6時より(150分前後かかる模様)
        行われるが、毎月28日には(不動明王縁日として)
        午前11時にも(2時間ほどかかる模様)行われる。
祈祷料
(普通護摩)   3000円 5000円 10000円
(特別護摩)   30000円(21日間) 100000円(108日間)
          300000円(365日間)
0230デフォルトの名無しさんNGNG
>>228
あれがないとキーボードで操作するのに困るんだが
どうしてもと言うなら、オーナードローボタンにして何もかも自分で描く。
0231デフォルトの名無しさんNGNG
サブクラス化してWM_SETFOCUSを無視するという手も。
だが消さないで欲しい。理由は>>230と同じ。
0232デフォルトの名無しさんNGNG
>>230
それは面倒なのでカスタムドロー推奨。

やはり同じ理由によりフォーカス時は差別化希望。
色を変えるとか。
0233228NGNG
>>230-232
レスありがとうございます。皆さんの操作性に対する配慮には頭が下がる思いです

最初からこう訊けば良かったのですが、ペイントの左にあるような、
ツール選択のボタンみたいなのを作りたくて…
見栄えのため点線枠ではなく、ボタンのへこみのみでFocusしたかったんです
マウス主体の、簡単なグラフィックエディタなので、お見逃しを…

早速試してみようと思います、感謝です
0234デフォルトの名無しさんNGNG
ディスクの遅延書き込みを DeviceIoControlでフラッシュしたいんですけど...

9xでは Interrupt 21h Function 710Dh(Flushes file system buffers and caches)
を使えばいけそうなんですが、NTでそれに相当する FSCTL_〜 は無いのでしょうか?
フラッシュするにはヴォリュームのロック/アンロックを行うしかない?
0235デフォルトの名無しさんNGNG
>>234
NT,2k,XPは直接デバイスに触ることはできない。
0236あひゃNGNG
外部アプリケーションが使用しているメモリの内容を書き換えたいと
思っています.市販ゲームの改造が目的です.
ゲームが使用しているメモリ空間からnバイトのバイナリデータ列を
検索してヒットするすべてのアドレスを調べたいのですが,
ヒープ領域でのアドレスを調べることができなくて悩んでいます.

今やってる方法は,ゲームを起動した状態でプロセスIDを取得し,
それをOpenProcess()で開き,ReadProceccMemory()を使って
ある程度のブロックごとに読み取り,memcmpで検索したいデータ列と
比較して下のアドレスから順番にアクセスしています.
ゲームを何度起動しても下からある程度までのアドレスは毎回同じで,
そこまではアクセスも順調なのですが,ある程度上に来ると
アクセスできなくなり,さらにゲームもフリーズしてしまいます.

プロセスメモリエディタ系で有名なExStandやねこまんま等で
そのゲームのプロセスを開いてみると,ヒープ領域のアドレスが
飛び飛びで存在しており,間にアクセスできないアドレスが存在しています.
上記の方法で下から順番にアクセスしていくと,そのアドレスにどうしても
途中でぶち当たってしまいます.単ににReadProcessMemory()が失敗して
返ってくるだけなら無視してどんどんアクセスしていけばいいと思うの
ですが,その時にゲームも止まってしまいます.

PC環境が変わるとアドレスが変わってしまいます.環境の違いにも
対応したいので,下からデータを検索していって,アクセス不可能な
領域があれば,次にアクセスできる領域まで飛んで検索を続行する
という処理を行いたいです.そのために,APIを使って
外部プロセスのヒープ領域のアドレス範囲を取得するといったことは
できないでしょうか.
プロセスメモリエディタなどはどういう処理をしているんでしょうか.
0237デフォルトの名無しさんNGNG
Heap32ListFirst
02387NGNG
▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼
 ☆★ 無修正DVD★☆なら 新宿歌舞伎町直送 ☆★

人気爆発新作ベスト9入荷
  堤さやか引退特集 憂木瞳 プロジェクトX No8 ベイビーフェイスをやっちまえ
 白石ひより・愛葉るび SNAPSHOT 地下映像陵辱援交 すぎはら美里痴女教師
 店頭販売の売れ筋のみ厳選してみました 安心の後払い
     http://book-i.net/moromoro/
   白石ひとみ 小森詩 山田まり 長瀬愛
@@ 及川奈央 レジェンド @@ 堤さやか 東京バーチャル 依然大好評
    
  サンプル画像充実  見る価値あり  最高画質
▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ 
0239デフォルトの名無しさんNGNG
>>234
真っ正直な方法じゃ無理。

これでも使っとけ。ほれ。
ttp://www.sysinternals.com/ntw2k/source/misc.shtml#Sync
0240234NGNG
>>239
どうもです。そのページもチェック済みでした。がそのツールはソースが無いんで
すよね。惜しい。
DeviceIoControlで FSCTL_(UN)LOCK_VOLUME 使って一応できたんですが、やっぱ
これしかないのかな。

winioctl.h 眺めたら FSCTL_INVALIDATE_VOLUMEなんていう怪しいのがあったけど
どこにも情報がない(´・ω・`)
0241236NGNG
>>237
ありがとうございます
ただツールヘルプ関数はNT系OSで使えないようなのですが
その場合はどうしたらいいでしょう
0242デフォルトの名無しさんNGNG
>Heap32ListFirst
>included in Windows XP, Windows 2000 Professional, Windows Me, Windows 98, and Windows 95

>CreateToolhelp32Snapshot
>Included in Windows XP, Windows 2000 Professional, Windows Me, Windows 98, and Windows 95.

MSDNもずいぶん非道い嘘を付くんだな。
0243デフォルトの名無しさんNGNG
XP Pro の kernel32.dll の中には
Dependency Walker で見る限りは
Heap32ListFirst,CreateToolhelp32Snapshot
共に入ってるんだが…
0244236NGNG
>>242-243
すいません
MSDNの対応情報には確かに書いてあるんですが
どこかのページでNT系OSでツールヘルプ関数を使うと不具合があるため
psapiのEnumProcess等を使うとか書いてあったので

Heap32ListFirst/Nextを用いてやってみます
ありがとうございました
0245デフォルトの名無しさんNGNG
お勧めの書籍教えてください
0246デフォルトの名無しさんNGNG
>>245
書店に行って片っ端から立ち読み汁!重複するトピックが多分重要な部分だ。
その重要そうな部分を一番分かりやすくかつ深く書いてる本を買え。大切な
ことはその一冊で満足するなってことだ。買った本を読み終わったら上に書いた
ことを何度か繰り返せ。最初の印象とはずい分違っているはずだ。それは君が
成長したことに他ならない。健闘を祈る。
0247デフォルトの名無しさんNGNG
>244
>どこかのページでNT系OSでツールヘルプ関数を使うと不具合があるため
>psapiのEnumProcess等を使う

たとえば、http://www.galliver.co.jp/writing/msdn/msdn15/
ここに、似たようなことが書いてあるが、使えないのは「NT4.0」であり
XPや2Kも含む「NT系OS」ではない。そのあたりを勘違いしていた?
0248236NGNG
>>247
まさにその通りです
自分の見たページにもNTとしか書いてなかったんですが
つい2000やXPも含めて考えていました
0249デフォルトの名無しさんNGNG
NT4.0を単にNTと表記されると混乱の元だよな。
0250デフォルトの名無しさんNGNG
「横書きテキスト+任意の"横幅"を持つアイコン画像」
と、言うデータを、リストとして表示したいのですが、
適当なコモンコントロールや、方法を教えて頂けないでしょうか。

アイコン付きリストビューが、最適かと思っていたのですが、
これはアイコンサイズが16x16(32x32)で固定のようで…無念です。
0251デフォルトの名無しさんNGNG
何故オーナードローを使いませんか。
0252Windows GDIでの質問ですNGNG
反転する線を描きたいのですが、どうすればいいでしょうか?

例えば、ある画像にRGB(255,255,25)で線を描くと、
白ではなく、元の画像とXORされる線を描きたいのです。
どなたか教えてください
0253250NGNG
>>251
いやぁ、このくらいなら、既存のものでチャキチャキ
終わらせたかったなと<(*´Д`)

オーナードローしかないですか…レスサンクスです。
0254デフォルトの名無しさんNGNG
>>252 SetROP2(hdc, R2_XORPEN)
0255252NGNG
>>254
わーい、出来ましたー
ありがとですよ!!!
0256デフォルトの名無しさんNGNG
何故カスタムドローを使いませんか。
0257デフォルトの名無しさんNGNG
何故ケアルドローを使いませんか。
0258デフォルトの名無しさんNGNG
子ウインドウは親ウインドウの終了を知ることは出来ますか?
0259デフォルトの名無しさんNGNG
>>258
子供も道連れになるのでわかります。
0260デフォルトの名無しさんNGNG
それは子ウィンドウにもWM_DESTROYが送られるという意味ですか?
0261デフォルトの名無しさんNGNG
ShellExecuteで起動したアプリケーションをPostMessage等で終了させる方法を教えて下さい。
0262_NGNG
http://homepage.mac.com/yamazaki8
0263_NGNG
http://homepage.mac.com/yamazaki8/hankaku10.html
0264デフォルトの名無しさんNGNG
CreatDCで作成したプリンタのデバイスコンテキストにTextOutで文字を描画して
BitBltでウインドウのデバイスコンテキストに転送して印刷プレビューを
ウインドウに表示させようとしているのですが表示されません。
手順を間違えてるいるのでしょうか?教えて下さい。
0265デフォルトの名無しさんNGNG
プリンタのデバイスコンテキストからは転送できない。
0266デフォルトの名無しさんNGNG
猫でも分かるプログラミングSDK編を勉強しているのですが
メニューを作る際、resource.rc、resource.hに記述して
コンパイルすると「.Debug/resource.resが開けません」
となってしまいます。これは何が原因なのでしょうか?
0267デフォルトの名無しさんNGNG
そのディレクトリが無いからじゃないか?
0268デフォルトの名無しさんNGNG
Win32 APIでキーボードやマウスの動きを自動化するプログラムを
作りたいのですが、どのようにすればいいのでしょうか?
0269デフォルトの名無しさんNGNG
いえ、フォルダもファイルも存在しています
0270デフォルトの名無しさんNGNG
>>266
プロジェクトにリソースファイルを加えてないとかw
0271デフォルトの名無しさんNGNG
いえ、SourceFilisの下に確に入っています
0272デフォルトの名無しさんNGNG
Filesですね。
0273デフォルトの名無しさんNGNG
あれ?ワークスペースを開き直したら普通に出来ました。お騒がせしました。
0274デフォルトの名無しさんNGNG
>>268
かなり勉強しないと無理臭い
勉強じゃないならば、FreeMacroってソフトを使ったら?
0275デフォルトの名無しさんNGNG
CreateFile(...)で作成したファイルの途中以降のデータを切り捨てる方法を教えてください。
先頭から途中までのデータを新しいファイルに書き込むってのは無しの方向で。

SetFilePointer(hFile, 0x9613E, NULL, FILE_BEGIN);
CloseHandle(hFile);
これで0x9613E〜EOFまで切捨てられるかと思ってた。
0276名無し@沢村NGNG
>>275
SetEndOfFile()
0277デフォルトの名無しさんNGNG
>>275
SetEndOfFile

関係ないがファイルマッピングでファイルサイズ伸張をバイト単位で綺麗に制御する方法を思いつかない
0278275NGNG
>>276-277
ありが�d。
しかしヘルプのCreateFileの所にリンクくらい張っておいて欲しいな。
SetEndOfFileにはCreateFileのリンクあるのにさ・・・。
0279デフォルトの名無しさんNGNG
>>278
SetFilePointerやWriteFileのとこにはリンク張ってあるし・・・

CreateFileで扱えるオブジェクトはファイルだけじゃないからなー

■ このスレッドは過去ログ倉庫に格納されています