[過去ログ]
Win32API質問箱 Build123©2ch.net (1002レス)
Win32API質問箱 Build123©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1475897582/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
1: デフォルトの名無しさん 転載ダメ©2ch.net [sageteoff] 2016/10/08(土) 12:33:02.29 ID:0jaJMPXG Win32APIについての質問はこちらへどうぞ。 ■注意 ・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。 ・日本語版MSDN Online Libraryは不完全です。 英語版( http://msdn.microsoft.com/en-us/library/ )の利用推奨。 ・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。 ・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで ■過去スレ Win32API質問箱 Build122 http://echo.2ch.net/test/read.cgi/tech/1451988219/ http://mevius.5ch.net/test/read.cgi/tech/1475897582/1
903: デフォルトの名無しさん [sage] 2017/09/27(水) 11:42:36.33 ID:zCHNwx74 誰か助けてください ゲームのマウスの入力読み取りが、RawInputと DirectInput ありますよね、 昔は設定でオン、オフがあったのに、いつの間にか設定を無くし、RawInputを強要する糞アプリがあります!! これを、強制的にRawからDirectInputにしたいのですが なにをどうすればいいのですか? フックして raw inputをブロックすれば実現できます? そもそも raw inputのマウスってどのAPIなのか、詳細分かりません ヘルプ たのんます http://mevius.5ch.net/test/read.cgi/tech/1475897582/903
904: デフォルトの名無しさん [sage] 2017/09/27(水) 17:03:40.82 ID:7dA/9JOQ 元のアプリからDirectInput用のコードが削除されてたら 何やっても無理じゃね?無いんだから http://mevius.5ch.net/test/read.cgi/tech/1475897582/904
905: デフォルトの名無しさん [sage] 2017/09/27(水) 18:49:01.07 ID:zCHNwx74 はい? raw inputってXP以降しか使えないんですが? じゃあ2Kで動かしたらどうなる訳、ってraw inputの有無で切り替えてるわけですよね だからWndProcフックしてraw input関係の該当API?を防げば いいと思ってるわけで、 APIのプロが集うであろう当スレで聞いてるわけですが? http://mevius.5ch.net/test/read.cgi/tech/1475897582/905
906: デフォルトの名無しさん [sage] 2017/09/27(水) 18:51:50.24 ID:I+WFkDPH アプリ以上に糞な奴だな http://mevius.5ch.net/test/read.cgi/tech/1475897582/906
907: デフォルトの名無しさん [sage] 2017/09/27(水) 19:32:45.39 ID:CtWRhHzI XPのサポートどころかVistaのサポートも切れてるのに何を言っているのやら。 きっと、設定とともに切り替える機能自体も削除されてるだろ。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/907
908: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/09/27(水) 19:43:59.36 ID:wqCON9vO 仮想OS使えば〜? http://mevius.5ch.net/test/read.cgi/tech/1475897582/908
909: デフォルトの名無しさん [sage] 2017/09/27(水) 20:00:59.41 ID:zCHNwx74 >>907 だから、削除されてるとかそういう勝手な妄想はいらないんですよ てか、Directinput無かったら2kのマウスは何で動いてるんすか?笑 2kでも動いた、これが事実ですから。 ↑に書いたようにraw inputのAPIをファックしてしまえばDirectinputなるんですよ raw inputマウスだけでキーボードはDirectinputですしね 後から追加にしたに過ぎず、100%UIからON、OFF消し去っただけなんですよ ってわけで有益なアドバイスをお願いします http://mevius.5ch.net/test/read.cgi/tech/1475897582/909
910: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/09/27(水) 20:02:58.50 ID:wqCON9vO DLLインジェクションでAPI関数を置き換え http://mevius.5ch.net/test/read.cgi/tech/1475897582/910
911: デフォルトの名無しさん [sage] 2017/09/27(水) 20:04:21.30 ID:zCHNwx74 >>908 仮想OSとか持ち出したらAPIスレの意義は? 仮想は遅いから嫌ですね、、 コテハンの力見せて下さいよ、お願いします http://mevius.5ch.net/test/read.cgi/tech/1475897582/911
912: デフォルトの名無しさん [sage] 2017/09/27(水) 20:09:02.92 ID:CtWRhHzI >>909 あぁ、現行のバージョンでも2kで動くのか。 >>905の書き方じゃ意味が分からなかったよ。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/912
913: デフォルトの名無しさん [sage] 2017/09/27(水) 20:17:19.60 ID:ExBmpI99 後出しの説明にレスすんじゃねえよ >>905の説明に方を付けてもらわないとな http://mevius.5ch.net/test/read.cgi/tech/1475897582/913
914: デフォルトの名無しさん [sage] 2017/09/27(水) 20:24:19.97 ID:oG2Zpa4d DirectInputのコードが残ってんなら 俺だったらOllyDbgで調べて、分岐しているところを WriteProcessMemory()で書き換えるプログラムをつくる http://mevius.5ch.net/test/read.cgi/tech/1475897582/914
915: デフォルトの名無しさん [sage] 2017/09/27(水) 21:55:19.23 ID:zCHNwx74 DLLインジェクションでAPI関数を置き換え ↑これをしたいのですが意味が分かりません 今回の置き換えるべき関数名でSetWindowsHookEx を使いサンプルコードを示してください http://mevius.5ch.net/test/read.cgi/tech/1475897582/915
916: デフォルトの名無しさん [sage] 2017/09/27(水) 22:00:15.91 ID:hZX+opcA > てか、Directinput無かったら2kのマウスは何で動いてるんすか?笑 ぶっちゃけFPSとかでもなけりゃWM_MOUSEMOVEで大抵事足りるべな http://mevius.5ch.net/test/read.cgi/tech/1475897582/916
917: デフォルトの名無しさん [sage] 2017/09/27(水) 22:28:55.48 ID:Cy9euBKG 頭悪いって大変だよな〜 http://mevius.5ch.net/test/read.cgi/tech/1475897582/917
918: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/09/27(水) 22:31:28.31 ID:wqCON9vO まずはDLL作って原理を覚えるところから始めないと http://mevius.5ch.net/test/read.cgi/tech/1475897582/918
919: デフォルトの名無しさん [sage] 2017/09/28(木) 08:16:32.65 ID:H8dM1RkU >>915 それもう丸投げだから諦めろ 普通にAPIフック関係の色んなページ見て 自分なりに統合させて試行錯誤しろ http://mevius.5ch.net/test/read.cgi/tech/1475897582/919
920: デフォルトの名無しさん [sage] 2017/09/28(木) 10:29:02.28 ID:mxHsq9Is マルチ http://mevius.5ch.net/test/read.cgi/tech/1475897582/920
921: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/09/28(木) 12:57:11.07 ID:kdrH0PSi ほらよ。これがAPIフックのサンプルだ。 https://github.com/katahiromz/SimpleApiHook DLLの動作原理とCMakeの使い方を勉強しろよ。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/921
922: 903 [sage] 2017/09/28(木) 13:41:17.72 ID:te0QQW2V 皆さんありがとうございます。 APIフック関連ページ読み漁ってますが、direct→rawを試みてる人はちらほら居ても、逆はいなくてソース無いので難航してます。 それで現状の知識では、目的のAPIフック完成させれていないので、私がやろうとしてる事は実現可能なのかだけお聞きしたいので、どなたか回答お願いします >>916を見て、調べなおしたのですが、 2kはDirectinputに切り替わっているといいましたが、これは誤りでした。 単にタイトル画面、設定画面といった画面でのみ、OS関係なく Directinput、WM_MOUSEMOVE(Windows Input?)どちらかは分かりませんが、とにかくRawinput以外を使っているだけでした で、お聞きしたいことですが、 DLLインジェクトでRawinputの関数をフックして、DirectinputもしくはWindows Inputの関数に飛ばすわけですよね コードがあるといっても、メニュー画面だけなわけですが、 上記のようなフックをした場合、メニュー画面以外でもマウス動くのでしょうか? 推測で構わないので教えてください、よろしくお願いします http://mevius.5ch.net/test/read.cgi/tech/1475897582/922
923: デフォルトの名無しさん [sage] 2017/09/28(木) 14:35:28.79 ID:jImnQ5Gm > 上記のようなフックをした場合、メニュー画面以外でもマウス動くのでしょうか? アプリの作りによる > 実現可能なのかだけお聞きしたい 可能 だけどお前に作れるとは思えない。作者に再サポートするように要望出せ。メールに数万分ギフトコード添えれば修正の可能性上がる http://mevius.5ch.net/test/read.cgi/tech/1475897582/923
924: デフォルトの名無しさん [sage] 2017/09/28(木) 20:44:32.90 ID:te0QQW2V >>923 今回のはAPIフックすれば出来ることでしょ? raw→direct置き換えで もし、アプリ側にdirectInputのコードが残ってなかったら、 DLLインジェクションでその処理も追加しないといけなくて、その場合一気に敷居が高くなるってことですよね? 今回は幸いにも、メニュー画面だけとはいえ、directInputで処理されてる部分が残ってるので、 APIフックで飛ばしてしまえば目的動作するわけで、 その手助けをお願いしてるんですよ? 要望出してこたえるような作者だったらとっくにやってますわ http://mevius.5ch.net/test/read.cgi/tech/1475897582/924
925: デフォルトの名無しさん [sage] 2017/09/28(木) 20:52:04.74 ID:te0QQW2V あと、片山博文MZ ◆T6xkBnTXz7B0さんのサンプル見たんですけど、 これIAT書き換えですよね。 アプリOEP書き換えられてるのでこの方法は無理くさいんです そこで今、MS detoursってフックライブラリを用いてAPIフックしたいんですけど上手くいきません detour分かる人いませんか? Cスレで聞いてますが、内容ほぼAPI関係ですしCスレ住人では手に負えないようなので、 APIのプロである皆さんの手助けをお願いします DLLの動作原理は理解しました。DLL=アプリ拡張。exeにぶちこんで機能追加、動作変更とやりたい放題出来るのがdll http://mevius.5ch.net/test/read.cgi/tech/1475897582/925
926: デフォルトの名無しさん [sage] 2017/09/28(木) 21:02:10.43 ID:plgdDRJR う〜ん。 自分は識者とはとても呼べないレベルだけど、DirectInputもraw inputと同じでWM_INPUT読むんじゃないの? MSでこんなこと書かれてるんだけど。 内部的には、DirectInput によって WM_INPUT データを読み取る 2 つ目のスレッドが作成され、DirectInput API を使用することによって、単に WM_INPUT を直接読み取る場合よりもオーバーヘッドが増加します。 https://msdn.microsoft.com/ja-jp/library/bb206183(v=vs.85).aspx http://mevius.5ch.net/test/read.cgi/tech/1475897582/926
927: デフォルトの名無しさん [sage] 2017/09/28(木) 21:04:11.65 ID:9inLL+H4 >>924 フックで出来ると思うなら、とりあえずフックして置き換えてみればいいじゃん それが可能かどうかなんて実際に試すかエスパーじゃない限り分らないよw http://mevius.5ch.net/test/read.cgi/tech/1475897582/927
928: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/09/28(木) 21:20:53.09 ID:Msp1dHAD UPXによるアンパックは試してみたか? 多分、IATの再構築が必要。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/928
929: デフォルトの名無しさん [sage] 2017/09/28(木) 23:15:38.58 ID:LqzHR2s+ DirectInput を使うメリットが分からない。 遅延させたいのかね。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/929
930: デフォルトの名無しさん [sage] 2017/09/29(金) 00:28:00.92 ID:RPVfxA+q directinputとraw inputは実装方法が異なるからapihookで修正するのはかなり面倒くさいと思うんだが。 あとeasyhookってライブラリがお勧め。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/930
931: デフォルトの名無しさん [sage] 2017/09/29(金) 01:23:58.99 ID:JdAsAkqo フックするよりバイナリ書き換えたほうが早いんじゃないか? http://mevius.5ch.net/test/read.cgi/tech/1475897582/931
932: デフォルトの名無しさん [sage] 2017/09/29(金) 03:50:21.56 ID:OKETC/Nl このスレの1にAdvanced Windows読めよって書いてなかったっけ 読んでから質問しろで終わりだろ なに相手してんだ馬鹿どもが http://mevius.5ch.net/test/read.cgi/tech/1475897582/932
933: デフォルトの名無しさん [sage] 2017/09/29(金) 06:20:31.11 ID:XCA+sdta >>903-905 この流れでこいつ相手するのはちょっとなってなるんだけど、暇だからなw http://mevius.5ch.net/test/read.cgi/tech/1475897582/933
934: デフォルトの名無しさん [sage] 2017/09/29(金) 07:54:38.41 ID:zrPER7+W >>924 フックで飛ばすのは意識だけにしとけ >>925 > DLLの動作原理は理解しました。DLL=アプリ拡張。exeにぶちこんで機能追加、動作変更とやりたい放題出来るのがdll 全然違う 万能ではない http://mevius.5ch.net/test/read.cgi/tech/1475897582/934
935: デフォルトの名無しさん [sage] 2017/09/29(金) 08:02:36.27 ID:jgex0uNR どこから「万能」とかいう単語が出て来た? 頭おかしい? http://mevius.5ch.net/test/read.cgi/tech/1475897582/935
936: デフォルトの名無しさん [sage] 2017/09/29(金) 08:19:00.83 ID:zrPER7+W >>935 > やりたい放題 http://mevius.5ch.net/test/read.cgi/tech/1475897582/936
937: デフォルトの名無しさん [sage] 2017/09/29(金) 08:26:10.73 ID:XCA+sdta 一般的なdllの定義とは違うけど、やりたい放題はできる http://mevius.5ch.net/test/read.cgi/tech/1475897582/937
938: デフォルトの名無しさん [sage] 2017/09/29(金) 08:41:13.28 ID:zrPER7+W >>937 ぶちこめればって前提つき? http://mevius.5ch.net/test/read.cgi/tech/1475897582/938
939: デフォルトの名無しさん [sage] 2017/09/29(金) 09:01:43.36 ID:tIQyCYwJ やりたい放題を万能と訳してしまう文盲がいると聞いて http://mevius.5ch.net/test/read.cgi/tech/1475897582/939
940: デフォルトの名無しさん [sage] 2017/09/29(金) 09:12:29.27 ID:XCA+sdta 日本語としてはイコールじゃないが、これはイコールでいいだろ そういうの読めないほうが… http://mevius.5ch.net/test/read.cgi/tech/1475897582/940
941: デフォルトの名無しさん [sage] 2017/09/29(金) 09:23:48.72 ID:zrPER7+W >>940 >>935も>>939もスルーでいいよ 論点には突っ込めずただ煽りたいだけだろうし http://mevius.5ch.net/test/read.cgi/tech/1475897582/941
942: デフォルトの名無しさん [sage] 2017/09/29(金) 09:44:33.30 ID:Rcj5pIbT スレのテンプレも読めない奴が言うと草 http://mevius.5ch.net/test/read.cgi/tech/1475897582/942
943: デフォルトの名無しさん [sage] 2017/10/02(月) 15:54:05.43 ID:RCSwdawe BYTE型の配列をメモリ上で圧縮展開できないか調べてます。 形式はZIPでもそれ以外でもなんでもいいです。 C#だとDeflateStreamというクラスがあるようなのですが、 Win32APIではどういう方法が考えられますか? http://mevius.5ch.net/test/read.cgi/tech/1475897582/943
944: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/10/02(月) 16:04:59.75 ID:glCRVK81 lzexpandかexpand.exeなら圧縮ファイルの展開ができる。メモリー上でやりたいなら、Win32APIじゃないけどzlibがスタンダード。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/944
945: デフォルトの名無しさん [sage] 2017/10/02(月) 16:11:45.58 ID:oE42sBRL RLE http://mevius.5ch.net/test/read.cgi/tech/1475897582/945
946: デフォルトの名無しさん [sage] 2017/10/02(月) 16:30:11.11 ID:L6BLLTIR Cabinet.dll系 http://mevius.5ch.net/test/read.cgi/tech/1475897582/946
947: デフォルトの名無しさん [sage] 2017/10/03(火) 21:46:20.74 ID:njFrOp6b >>879 ID:xJTY0L3vは、そのスレを私物化した頭がおかしい人 この人の文章は特徴があるから、該当したらスルー推奨 ここにまで出張してきたのか、なんてこったい http://mevius.5ch.net/test/read.cgi/tech/1475897582/947
948: デフォルトの名無しさん [] 2017/10/04(水) 22:35:29.05 ID:PQrbpt2K >>947 >ここにまで出張してきたのか というリクエストにお答えして、 https://www.slideshare.net/MoriharuOhzu/ss-14083300 という指摘があって、指摘通り、複数機能を分割してツギハギの算譜を構築していった。 80%位が、VBのライブ(常駐部+非常駐部)の内容に、旧バージョンのQBやGWの内容を継ぎ足していった。 その結果、巨大になりすぎて、発生条件が異なるハングアップが発生した。 常に同じ場所で発生するのであれば、ルーチンの障害が考えられるけど、数行の追加・削除で発生位置が変化するハングアップは、原因特定が困難なメモリーの管理障害と考えられる。 ここでも指摘があった通り、わずか1MB位のソースデータで発生する障害というと、Win32系、つまり、Win-NT系がMS-DOSから引き継いでいる、常駐処理部分の640又は720KBの壁と呼ばれている、メモリーの割り当て部分の内容。 これは、N88, GW-Basic, Q-Basic, Visual Basic とずっと悩まされ続けた内容で、 GQとQBは、オーバーレイ化、VBは、30-60KB位づつ非常駐部(*.FRM)に移動して対応した。 FBでの対応というと、DLL化とGW用語でのチルドレンの使用。 ということで、GWの頃のルーチンの復活、半自動化したチルドレン作成ソフトの復活となった。 ここでは、このあたりの指摘をする人がいないので、探したところ 大学のサイトで、解説があった。 http://pepper.is.sci.toho-u.ac.jp/index.php?plugin=attach&refer=%BB%B3%C6%E2%A4%CE%BC%F8%B6%C8%A4%CE%A5%DA%A1%BC%A5%B8%2F16%BD%A9%2F%A5%AA%A5%DA%A5%EC%A1%BC %A5%C6%A5%A3%A5%F3%A5%B0%A5%B7%A5%B9%A5%C6%A5%E0&openfile=8-3_%C2%E7%CD%C6%CE%CC%CC%E4%C2%EA%A4%C8%A5%AA%A1%BC%A5%D0%A1%BC%A5%EC%A5%A4.pdf http://www-higashi.ist.osaka-u.ac.jp/~y-nakamr/lecture/systemsprograming2008/sp20081015.pdf のが見つかった。 日曜プログラマーなので、障害対応ルーチン、つまり、現在実行中のルーチン名、正常終了以外の場合の終了情報、異常値で参照された場合の自動復旧情報をファイルに出力し続けている。 専門のプログラマーはあまりやらない機能だが、ド素人が行う場合には必須の機能。専門のプログラマーの方でも、ゲームプログラムの実行状況をRS-232Cから垂れ流すという市販ソフトがあった。 これが邪魔して、DLL化ができないでいる。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/948
949: デフォルトの名無しさん [sage] 2017/10/04(水) 22:40:41.59 ID:arhAZny/ 病院行っとけよ http://mevius.5ch.net/test/read.cgi/tech/1475897582/949
950: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/10/04(水) 23:02:37.86 ID:HMkkIXOi DLL化実現したくば、此、再入可能な算符で新たなる記憶管理法に改める事を強いる。新時代たる基本軟件の見識を理解せずば、現代的に非ず也。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/950
951: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/10/04(水) 23:21:47.13 ID:HMkkIXOi 日曜博客を名乗る者共、何時迄プロに転身せぬ身の程を哀しむ乎。是、翌檜にも劣る迷い人と見るに、難儀なる人生を案ずる也。 我、所謂ギットハブなるウェッブ居留地にて自分の造成物を多数散布しけり。時代を先取るべき博客が時代に遅れるとは如何に惨めなる乎。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/951
952: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/10/04(水) 23:29:27.16 ID:HMkkIXOi ここまで古いヤツが居たとは。。。 博物館行き決定!!! http://mevius.5ch.net/test/read.cgi/tech/1475897582/952
953: デフォルトの名無しさん [] 2017/10/05(木) 22:13:32.68 ID:NosQ3QuL >>950 高校を4年で卒業した実績を有する吾輩としては、書き下し文を正しく理解する力を能わず。 因りて誤読、誤字、誤文法多数ありなん。人我を天災と呼ぶなん。 人再入可能というなん。なれど具体的例を流れ図で説明するを能わす、Cをもって説明す。 https://ja.wikipedia.org/wiki/%E3%83%AA%E3%82%A8%E3%83%B3%E3%83%88%E3%83%A9%E3%83%B3%E3%83%88 今は昔人Aを診ず、よりてCを持って語る。8080Aを語る我、Cを語ること能わず。 人古き良き伝統を破棄し、新語を創り語る。更なる新語を作るも、これなん、古き伝統なり。 >>952 要は、多重処理が可能な(大型コンピューターでは)一般的なライブルーチンでしょう。 作業領域をサブ内に持たないように、参照側に定義してゆく方法。 外部参照を前提とする大域参照(障害情報の保存)ができないことがDLL化できない理由になっています。 専用の障害処理ルーチンを作れば別ですけど。https://www.slideshare.net/MoriharuOhzu/ss-14083300 な方々が、同じような処理をコピーするなというのです。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/953
954: デフォルトの名無しさん [] 2017/10/05(木) 22:14:41.62 ID:NosQ3QuL >>951 友有。遠方に居たり。友センターにて9割を取る博学なり。されど卒業するを能わず。 電算技術を学びたるも9割が中退す。 我5割なり。門にて脚切られたり。電算を学ぶ事能わず、4馬鹿カルテットの門に入る。 電算の夢追いて、野に下る。雅号を探せば文人の末席を汚すを知るなり。 我が電算技術は幼稚なり。人我を踏み越えて新譜を発表す。 時代の先端を征く者、時代には生きられぬ。 >>952 博物館で展示されているような、MS-DOS用ソフトのいくつかは、私が発表した内容の改良品です。 「これこれの機能はありません」と記載されていた「これこれ」は私が発表したものです。 発表から2年ぐらい遅れて申請されて特許になっていた処理方法もあったし、 こんなのやってますよ、って求人に来た某社人事部長に内容を話せば、「おかげで特許取れました」と、お茶菓子を持ってきたし。 「新しい方法を開発した」なんて、販促パンフに書いてあったソフトを買ったらば、電算課の教授陣が「(私のやり方は)無意味な方法だ」と罵倒していた方法だったりした。 同級会の帰りバスの中で「こんなソフトがあったらいいね」「お前描けよ」「英語を読まなきゃなんないからいやだ」と話していたら、だれかわからないですが、真剣に聞いていた人がいました。 この方法は発表されました。大学同窓会での会話から新規に開発されるソフトって結構多いです。 >>869 の指摘、一般教養の講義内容で、 >単精度ではおかしくなる。 倍精度を使って処理する方法があるけど、講義では単精度で対応する方法を教える という内容があった。何かで大学教授の手記が記載されていて、 32bitでやるようにという課題に対して、大学のシステムには64ビット処理ライブラリーが登録されていないから実行不能である(課題に間違いがある)という回答があったこと を嘆いていた内容があった。 この手の処理で、64ビット処理を自作してやった同級生(電算課以外)がいたのですが、大型を使っていたら、電算科教授に殴られたのです。 暴行を受けているような声が聞こえたので、電算室に飛び込んだらば、教授が出て行って、痛みをこらえている同級生がいました。 電算科の暴力教授なら、単精度でやらないと殴りつけていたね。今は昔。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/954
955: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/10/05(木) 22:32:50.80 ID:Xv32D2hU >>953 ファイルマッピングを使えば、メモリー領域を共有できるよ。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/955
956: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/10/05(木) 22:43:02.71 ID:Xv32D2hU DLLの共有セクションに変数やコードを入れれば、変数やコードを共有できるよ。 MSVCの場合は、 #pragma data_seg(".shared") ... #pragma data_seg() の中に変数を入れて .defファイルに SECTIONS ".shared" READ WRITE SHARED と書いて、DLLのプロジェクトに.defファイルを追加する。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/956
957: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/10/05(木) 22:57:50.83 ID:Xv32D2hU https://msdn.microsoft.com/ja-jp/library/h90dkhs0.aspx http://mevius.5ch.net/test/read.cgi/tech/1475897582/957
958: デフォルトの名無しさん [sage] 2017/10/06(金) 00:07:58.97 ID:4rQw4n+d >>956 ちょこっとだけメモリ共有したいときいいよね 排他処理に InterlockedExchange なんかを使って http://mevius.5ch.net/test/read.cgi/tech/1475897582/958
959: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/10/06(金) 00:17:07.07 ID:u49AV52w gcc/g++の場合は、__attribute__((section (".shared"),�shared))を使うんだった。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/959
960: デフォルトの名無しさん [sage] 2017/10/29(日) 16:13:05.10 ID:9AFyIjHV shcreatedirectoryexを無効化するにはどうしたら良いでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1475897582/960
961: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/10/29(日) 16:14:21.78 ID:k1qoOab2 >>960 APIフック。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/961
962: デフォルトの名無しさん [sage] 2017/11/06(月) 16:32:15.17 ID:vBzMORbG PEヘッダについての質問ってどこですればいいですか? スレチな気がします・・・けどお願いします http://mevius.5ch.net/test/read.cgi/tech/1475897582/962
963: デフォルトの名無しさん [sage] 2017/11/06(月) 19:45:55.24 ID:6JLIEeFJ 聴き給へ http://mevius.5ch.net/test/read.cgi/tech/1475897582/963
964: デフォルトの名無しさん [sage] 2017/11/06(月) 21:00:51.96 ID:vBzMORbG ありがとうございます APIフックのための仲介DLL作成ツールを使おうと思ったんですけどkernel32.dllやuser32.dllを引数に与えても動かなくて エラーの内容見てみたらNumberOfRvaAndSizes=0って出ていて 調べてみるとディレクトリ配列の数を示すパラメータみたいなんでPE INFOをつかって見てみました そうしたら、Directoriesの情報タブにはExportの内容が表示されていたのですがDirectories Exportのサイズは0でした ここで疑問なんですが、Directoriesのパラメータ(Rva, Size)がPE Infoに表示されているのにディレクトリ配列の数が0になっているのはなぜでしょうか? また、ExportディレクトリがSize=0ならエクスポート関数のリストはどこから来たんでしょうか? そのソフトのソースを見てみると本来はディレクトリ配列の最初の要素からエクスポート関数のリストを得るものだったのですがそのようなメンバはない(というかディレクトリ配列の数が0)みたいです どなたかわかりましたらよろしくお願いします http://mevius.5ch.net/test/read.cgi/tech/1475897582/964
965: デフォルトの名無しさん [sage] 2017/11/06(月) 23:03:33.39 ID:9FNc82fk 手元にWindows環境がないので当てずっぽうに過ぎないが dllがx64の奴だからと予想 http://mevius.5ch.net/test/read.cgi/tech/1475897582/965
966: デフォルトの名無しさん [sage] 2017/11/06(月) 23:21:19.33 ID:vBzMORbG >>965 ありがとうございます、user「32」.dllとなっていたのでx86と同じだと思っていました 試してみたいですけど家に32bit環境ないですね・・・ http://mevius.5ch.net/test/read.cgi/tech/1475897582/966
967: デフォルトの名無しさん [sage] 2017/11/07(火) 16:30:21.10 ID:speVoQlz wow64の中のを入れた? http://mevius.5ch.net/test/read.cgi/tech/1475897582/967
968: デフォルトの名無しさん [sage] 2017/11/08(水) 00:50:49.35 ID:ZqGpDlPC >>967 >>964です wow64のなかにあったuser32.dllを使うと動きました、ありがとうございます! できれば、なぜ64bit版としか思えないフォルダ名のなかのものなら動いたのか、そもそもwow64とsystem32の同名ファイルは何が違うのか教えていただけないでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1475897582/968
969: デフォルトの名無しさん [sage] 2017/11/08(水) 00:59:31.38 ID:ZqGpDlPC すみません、ググったら出てきました System32フォルダに入ってる方のdllが64bit用、wow64の中が32bit用という逆転があるんですね 教えていただいた方々ありがとうございました http://mevius.5ch.net/test/read.cgi/tech/1475897582/969
970: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/11/08(水) 01:01:16.79 ID:TZ5JAUzS マイクロソフトは、64ビット環境で動くDLLをsystem32に格納し、32ビットのDLLをwow64に格納することにした。 32ビットと同じ名前なのは、互換性のため。詳しくはWin64APIについて調べるといい。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/970
971: デフォルトの名無しさん [sage] 2017/11/08(水) 01:01:34.79 ID:0mQs8SG2 >>968 wow64 = Windows (32bit) on Windows 64bit →32bit system32 = 昔(32bit)の時のフォルダー名変更してないだけ →64bit http://mevius.5ch.net/test/read.cgi/tech/1475897582/971
972: デフォルトの名無しさん [sage] 2017/11/08(水) 01:31:09.47 ID:MEe7IGP8 systemのままで良かったよね http://mevius.5ch.net/test/read.cgi/tech/1475897582/972
973: デフォルトの名無しさん [] 2017/11/08(水) 03:22:35.44 ID:pi2d/ZnM 32ビットはブームだったからなあ そのくせProgram Filesはx86ってなんだよって感じ http://mevius.5ch.net/test/read.cgi/tech/1475897582/973
974: デフォルトの名無しさん [] 2017/11/08(水) 03:41:30.24 ID:R0qhel/o system32はWoW16でsystemを使ってたからねしょうがないね http://mevius.5ch.net/test/read.cgi/tech/1475897582/974
975: デフォルトの名無しさん [] 2017/11/08(水) 06:10:07.81 ID:ZWKv78KM >>969 w(32) on w64 の略だから逆転はしていない 紛らわしいネーミングだとは思うが ディレクトリ名決め打ちの糞ソフトが 大量に出回ったあとだからやむを得ない http://mevius.5ch.net/test/read.cgi/tech/1475897582/975
976: デフォルトの名無しさん [] 2017/11/08(水) 18:38:40.88 ID:ROkXXR0p win32Windowsアプリって真っ白から作るんだな昔凄い量打ち込んでやっとウィンドウ出したのを思い出したわ・・・ http://mevius.5ch.net/test/read.cgi/tech/1475897582/976
977: デフォルトの名無しさん [sage] 2017/11/08(水) 18:48:38.98 ID:ZM9wnitb main()から手打ちしてたのはwin3.1時代までだなw http://mevius.5ch.net/test/read.cgi/tech/1475897582/977
978: デフォルトの名無しさん [] 2017/11/08(水) 19:00:03.99 ID:ROkXXR0p >>977 今は基礎作ってくれるのか10年前だからな基礎作るだけで学校の午後の授業が半分使ったしw http://mevius.5ch.net/test/read.cgi/tech/1475897582/978
979: デフォルトの名無しさん [sage] 2017/11/08(水) 19:02:13.24 ID:u5hLhTv2 10年前でも、WinMainから書いて無かったか? http://mevius.5ch.net/test/read.cgi/tech/1475897582/979
980: デフォルトの名無しさん [] 2017/11/08(水) 19:07:13.31 ID:ROkXXR0p 書いてなかったねえprint貰って全部手書きで最初からウィンドウの幅構成とかカタカタ打ってたなそれか楽させないために空のファイルで作らされてたか http://mevius.5ch.net/test/read.cgi/tech/1475897582/980
981: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/11/08(水) 19:09:52.22 ID:TZ5JAUzS 今じゃWTLとかMFCとかが無料で使えるから、手作業は減っているはずだ。 https://github.com/katahiromz/MZC4 http://mevius.5ch.net/test/read.cgi/tech/1475897582/981
982: デフォルトの名無しさん [] 2017/11/08(水) 20:59:58.61 ID:ROkXXR0p 構成の仕方まだわからんから出来ない http://mevius.5ch.net/test/read.cgi/tech/1475897582/982
983: デフォルトの名無しさん [] 2017/11/08(水) 21:34:54.68 ID:R0qhel/o 最後にWTLウィザード使ったのいつだろう?ってぐらいご無沙汰だわ http://mevius.5ch.net/test/read.cgi/tech/1475897582/983
984: デフォルトの名無しさん [sage] 2017/11/08(水) 23:59:13.54 ID:S5satkVH バッチプログラムから起動するかコマンドラインから起動するかで WinMain() アプリからの戻り方が違うのが困る、いまさらだが。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/984
985: デフォルトの名無しさん [sage] 2017/11/09(木) 00:24:21.64 ID:UmTkKmYx バッチで? http://mevius.5ch.net/test/read.cgi/tech/1475897582/985
986: デフォルトの名無しさん [] 2017/11/09(木) 03:45:53.03 ID:5qwvxsG7 コマンドプロンプトやパワーシェル上から手入力でnotepad.exeと入力してメモ帳を起動すると、すぐに端末に制御が戻ってくる。 一方、以下の内容のように2回メモ帳を起動するbatファイルを作り実行すると一つ目のメモ帳が終わるまで待つことがわかる。 notepad.exe notepad.exe なお、windows10の場合、電卓calc.exeがユニバーサルWindowsプラットフォームのアプリなので 以下の内容のbatファイルからの起動でもすぐに制御が戻ってくるので電卓が2つ同時起動された状態になる。 calc.exe calc.exe ようするに、コンソールアプリ、Windowアプリ、ユニバーサルWindowsプラットフォームアプリの3種類でそれぞれ挙動が違う。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/986
987: デフォルトの名無しさん [] 2017/11/09(木) 04:18:01.90 ID:OMOJ5BWv 昔はopenGLを使ってたんだったわ昔のプロジェクト起動したらおまじないがエラー起こしてた http://mevius.5ch.net/test/read.cgi/tech/1475897582/987
988: デフォルトの名無しさん [sage] 2017/11/09(木) 05:04:07.82 ID:RrHmFgzV コマンドプロンプト上でのバッチファイル実行の挙動はDOSの仕様(MS-DOS) バッチファイルは順次に作動するように作られてるので、WIN32プロセスの 終了待機が行われる。 ユニバーサルアプリは、DOS窓がEXEの終了待機を処理できないだけ。 WIN32アプリも、作りによっては同じく終了待機できない可能性はある。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/988
989: デフォルトの名無しさん [sage] 2017/11/09(木) 05:06:38.10 ID:RrHmFgzV 補足すると、exeの戻り値で処理を分けるっていうのはDOS時代よく行うことだったので、 終了待機しないと戻り値が取れなくて困る。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/989
990: デフォルトの名無しさん [] 2017/11/09(木) 10:21:19.15 ID:5qwvxsG7 OSの正常なシャットダウンや再起動を妨げるクソなドライバー ZN200pcie.sys が悪名を轟かせている、 SKNET MonsterTV PCIE3 のドライバー追加・削除する時に処理をある程度自動化するため今もバッチ処理使ってる。 ドライバーを追加・削除するためのSKNET謹製アプリがGUIアプリなので終了を待ってくれないといろいろ困る。 set WAIT_EXE="C:\Program Files\Git\usr\bin\sleep.exe" taskkill /F /IM MonsterTVLivePlayer.exe taskkill /F /IM MonsterTVPlayer.exe taskkill /F /IM MonsterTVMenu.exe sc stop MonsterTVService %WAIT_EXE% 3 PCIE3_win10_Driver\DriverInstall.exe <-- こいつがGUIアプリ。 sc start MonsterTVService exit /B http://mevius.5ch.net/test/read.cgi/tech/1475897582/990
991: デフォルトの名無しさん [sage] 2017/11/09(木) 10:33:48.20 ID:RrHmFgzV PCIE3_win10_Driver\DriverInstall.exe の終了を待ちたいけど待ってくれないなら、 このスレ的にはそれを起動して終了を待つプログラムを組めばいいんじゃない? http://mevius.5ch.net/test/read.cgi/tech/1475897582/991
992: デフォルトの名無しさん [sage] 2017/11/09(木) 10:46:19.38 ID:5qwvxsG7 >>991 失礼。質問したかったんじゃなくて、バッチがいまだ現役な例をあげた。 バッチでPCIE3_win10_Driver\DriverInstall.exe を終了待ちできてるので問題ない。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/992
993: デフォルトの名無しさん [sage] 2017/11/09(木) 11:23:34.26 ID:UInw5/Yz 次スレよろ http://mevius.5ch.net/test/read.cgi/tech/1475897582/993
994: デフォルトの名無しさん [sage] 2017/11/09(木) 11:38:29.16 ID:9lAepYsb 待ってくれないならループで待つようにすればいいだけの話だな http://mevius.5ch.net/test/read.cgi/tech/1475897582/994
995: デフォルトの名無しさん [sage] 2017/11/09(木) 16:34:53.73 ID:3Mpnex4d 待っててくれないなら追いかければいいよ http://mevius.5ch.net/test/read.cgi/tech/1475897582/995
996: デフォルトの名無しさん [] 2017/11/11(土) 19:44:42.77 ID:4LNBDgYy Win32API質問箱 Build124 https://mevius.5ch.net/test/read.cgi/tech/1510395780/ http://mevius.5ch.net/test/read.cgi/tech/1475897582/996
997: デフォルトの名無しさん [sage] 2017/11/12(日) 17:50:54.93 ID:k+Q3OR2Q test http://mevius.2ch.net/test/read.cgi/tech/1510395780/ http://mevius.5ch.net/test/read.cgi/tech/1475897582/997
998: デフォルトの名無しさん [sage] 2017/11/12(日) 17:51:42.96 ID:k+Q3OR2Q なるほど新リンク先は 5ch がいいのか 2ch がいいのか ようわからん 教えてけれ http://mevius.5ch.net/test/read.cgi/tech/1475897582/998
999: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/11/12(日) 17:55:07.59 ID:hcIx1LXl >>998 将来的には5chに移行するから、5chがいい。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/999
1000: デフォルトの名無しさん [] 2017/11/12(日) 18:27:23.43 ID:C1sLEmf0 ラスト http://mevius.5ch.net/test/read.cgi/tech/1475897582/1000
1001: 1001 [] Over 1000 Thread このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 400日 5時間 54分 21秒 http://mevius.5ch.net/test/read.cgi/tech/1475897582/1001
1002: 1002 [] Over 1000 Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。 運営にご協力お願いいたします。 ─────────────────── 《プレミアム会員の主な特典》 ★ 5ちゃんねる専用ブラウザからの広告除去 ★ 5ちゃんねるの過去ログを取得 ★ 書き込み規制の緩和 ─────────────────── 会員登録には個人情報は一切必要ありません。 月300円から匿名でご購入いただけます。 ▼ プレミアム会員登録はこちら ▼ https://premium.5ch.net/ ▼ 浪人ログインはこちら ▼ https://login.5ch.net/login.php http://mevius.5ch.net/test/read.cgi/tech/1475897582/1002
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.248s*