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/
Win32API質問箱 Build123©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
2016/10/08(土) 12:33:02.29ID:0jaJMPXG
924デフォルトの名無しさん
2017/09/28(木) 20:44:32.90ID:te0QQW2V >>923
今回のはAPIフックすれば出来ることでしょ?
raw→direct置き換えで
もし、アプリ側にdirectInputのコードが残ってなかったら、
DLLインジェクションでその処理も追加しないといけなくて、その場合一気に敷居が高くなるってことですよね?
今回は幸いにも、メニュー画面だけとはいえ、directInputで処理されてる部分が残ってるので、
APIフックで飛ばしてしまえば目的動作するわけで、
その手助けをお願いしてるんですよ?
要望出してこたえるような作者だったらとっくにやってますわ
今回のはAPIフックすれば出来ることでしょ?
raw→direct置き換えで
もし、アプリ側にdirectInputのコードが残ってなかったら、
DLLインジェクションでその処理も追加しないといけなくて、その場合一気に敷居が高くなるってことですよね?
今回は幸いにも、メニュー画面だけとはいえ、directInputで処理されてる部分が残ってるので、
APIフックで飛ばしてしまえば目的動作するわけで、
その手助けをお願いしてるんですよ?
要望出してこたえるような作者だったらとっくにやってますわ
925デフォルトの名無しさん
2017/09/28(木) 20:52:04.74ID:te0QQW2V あと、片山博文MZ ◆T6xkBnTXz7B0さんのサンプル見たんですけど、
これIAT書き換えですよね。
アプリOEP書き換えられてるのでこの方法は無理くさいんです
そこで今、MS detoursってフックライブラリを用いてAPIフックしたいんですけど上手くいきません
detour分かる人いませんか?
Cスレで聞いてますが、内容ほぼAPI関係ですしCスレ住人では手に負えないようなので、
APIのプロである皆さんの手助けをお願いします
DLLの動作原理は理解しました。DLL=アプリ拡張。exeにぶちこんで機能追加、動作変更とやりたい放題出来るのがdll
これIAT書き換えですよね。
アプリOEP書き換えられてるのでこの方法は無理くさいんです
そこで今、MS detoursってフックライブラリを用いてAPIフックしたいんですけど上手くいきません
detour分かる人いませんか?
Cスレで聞いてますが、内容ほぼAPI関係ですしCスレ住人では手に負えないようなので、
APIのプロである皆さんの手助けをお願いします
DLLの動作原理は理解しました。DLL=アプリ拡張。exeにぶちこんで機能追加、動作変更とやりたい放題出来るのがdll
926デフォルトの名無しさん
2017/09/28(木) 21:02:10.43ID: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
自分は識者とはとても呼べないレベルだけど、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
927デフォルトの名無しさん
2017/09/28(木) 21:04:11.65ID:9inLL+H4928片山博文MZ ◆T6xkBnTXz7B0
2017/09/28(木) 21:20:53.09ID:Msp1dHAD UPXによるアンパックは試してみたか?
多分、IATの再構築が必要。
多分、IATの再構築が必要。
929デフォルトの名無しさん
2017/09/28(木) 23:15:38.58ID:LqzHR2s+ DirectInput を使うメリットが分からない。
遅延させたいのかね。
遅延させたいのかね。
930デフォルトの名無しさん
2017/09/29(金) 00:28:00.92ID:RPVfxA+q directinputとraw inputは実装方法が異なるからapihookで修正するのはかなり面倒くさいと思うんだが。
あとeasyhookってライブラリがお勧め。
あとeasyhookってライブラリがお勧め。
931デフォルトの名無しさん
2017/09/29(金) 01:23:58.99ID:JdAsAkqo フックするよりバイナリ書き換えたほうが早いんじゃないか?
932デフォルトの名無しさん
2017/09/29(金) 03:50:21.56ID:OKETC/Nl このスレの1にAdvanced Windows読めよって書いてなかったっけ
読んでから質問しろで終わりだろ
なに相手してんだ馬鹿どもが
読んでから質問しろで終わりだろ
なに相手してんだ馬鹿どもが
933デフォルトの名無しさん
2017/09/29(金) 06:20:31.11ID:XCA+sdta >>903-905
この流れでこいつ相手するのはちょっとなってなるんだけど、暇だからなw
この流れでこいつ相手するのはちょっとなってなるんだけど、暇だからなw
934デフォルトの名無しさん
2017/09/29(金) 07:54:38.41ID:zrPER7+W935デフォルトの名無しさん
2017/09/29(金) 08:02:36.27ID:jgex0uNR どこから「万能」とかいう単語が出て来た?
頭おかしい?
頭おかしい?
936デフォルトの名無しさん
2017/09/29(金) 08:19:00.83ID:zrPER7+W >>935
> やりたい放題
> やりたい放題
937デフォルトの名無しさん
2017/09/29(金) 08:26:10.73ID:XCA+sdta 一般的なdllの定義とは違うけど、やりたい放題はできる
938デフォルトの名無しさん
2017/09/29(金) 08:41:13.28ID:zrPER7+W >>937
ぶちこめればって前提つき?
ぶちこめればって前提つき?
939デフォルトの名無しさん
2017/09/29(金) 09:01:43.36ID:tIQyCYwJ やりたい放題を万能と訳してしまう文盲がいると聞いて
940デフォルトの名無しさん
2017/09/29(金) 09:12:29.27ID:XCA+sdta 日本語としてはイコールじゃないが、これはイコールでいいだろ
そういうの読めないほうが…
そういうの読めないほうが…
941デフォルトの名無しさん
2017/09/29(金) 09:23:48.72ID:zrPER7+W942デフォルトの名無しさん
2017/09/29(金) 09:44:33.30ID:Rcj5pIbT スレのテンプレも読めない奴が言うと草
943デフォルトの名無しさん
2017/10/02(月) 15:54:05.43ID:RCSwdawe BYTE型の配列をメモリ上で圧縮展開できないか調べてます。
形式はZIPでもそれ以外でもなんでもいいです。
C#だとDeflateStreamというクラスがあるようなのですが、
Win32APIではどういう方法が考えられますか?
形式はZIPでもそれ以外でもなんでもいいです。
C#だとDeflateStreamというクラスがあるようなのですが、
Win32APIではどういう方法が考えられますか?
944片山博文MZ ◆T6xkBnTXz7B0
2017/10/02(月) 16:04:59.75ID:glCRVK81 lzexpandかexpand.exeなら圧縮ファイルの展開ができる。メモリー上でやりたいなら、Win32APIじゃないけどzlibがスタンダード。
945デフォルトの名無しさん
2017/10/02(月) 16:11:45.58ID:oE42sBRL RLE
946デフォルトの名無しさん
2017/10/02(月) 16:30:11.11ID:L6BLLTIR Cabinet.dll系
947デフォルトの名無しさん
2017/10/03(火) 21:46:20.74ID:njFrOp6b948デフォルトの名無しさん
2017/10/04(水) 22:35:29.05ID: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化ができないでいる。
というリクエストにお答えして、
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化ができないでいる。
949デフォルトの名無しさん
2017/10/04(水) 22:40:41.59ID:arhAZny/ 病院行っとけよ
950片山博文MZ ◆T6xkBnTXz7B0
2017/10/04(水) 23:02:37.86ID:HMkkIXOi DLL化実現したくば、此、再入可能な算符で新たなる記憶管理法に改める事を強いる。新時代たる基本軟件の見識を理解せずば、現代的に非ず也。
951片山博文MZ ◆T6xkBnTXz7B0
2017/10/04(水) 23:21:47.13ID:HMkkIXOi 日曜博客を名乗る者共、何時迄プロに転身せぬ身の程を哀しむ乎。是、翌檜にも劣る迷い人と見るに、難儀なる人生を案ずる也。
我、所謂ギットハブなるウェッブ居留地にて自分の造成物を多数散布しけり。時代を先取るべき博客が時代に遅れるとは如何に惨めなる乎。
我、所謂ギットハブなるウェッブ居留地にて自分の造成物を多数散布しけり。時代を先取るべき博客が時代に遅れるとは如何に惨めなる乎。
952片山博文MZ ◆T6xkBnTXz7B0
2017/10/04(水) 23:29:27.16ID:HMkkIXOi ここまで古いヤツが居たとは。。。
博物館行き決定!!!
博物館行き決定!!!
953デフォルトの名無しさん
2017/10/05(木) 22:13:32.68ID: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
な方々が、同じような処理をコピーするなというのです。
高校を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
な方々が、同じような処理をコピーするなというのです。
954デフォルトの名無しさん
2017/10/05(木) 22:14:41.62ID:NosQ3QuL >>951
友有。遠方に居たり。友センターにて9割を取る博学なり。されど卒業するを能わず。
電算技術を学びたるも9割が中退す。
我5割なり。門にて脚切られたり。電算を学ぶ事能わず、4馬鹿カルテットの門に入る。
電算の夢追いて、野に下る。雅号を探せば文人の末席を汚すを知るなり。
我が電算技術は幼稚なり。人我を踏み越えて新譜を発表す。
時代の先端を征く者、時代には生きられぬ。
>>952
博物館で展示されているような、MS-DOS用ソフトのいくつかは、私が発表した内容の改良品です。
「これこれの機能はありません」と記載されていた「これこれ」は私が発表したものです。
発表から2年ぐらい遅れて申請されて特許になっていた処理方法もあったし、
こんなのやってますよ、って求人に来た某社人事部長に内容を話せば、「おかげで特許取れました」と、お茶菓子を持ってきたし。
「新しい方法を開発した」なんて、販促パンフに書いてあったソフトを買ったらば、電算課の教授陣が「(私のやり方は)無意味な方法だ」と罵倒していた方法だったりした。
同級会の帰りバスの中で「こんなソフトがあったらいいね」「お前描けよ」「英語を読まなきゃなんないからいやだ」と話していたら、だれかわからないですが、真剣に聞いていた人がいました。
この方法は発表されました。大学同窓会での会話から新規に開発されるソフトって結構多いです。
>>869 の指摘、一般教養の講義内容で、
>単精度ではおかしくなる。
倍精度を使って処理する方法があるけど、講義では単精度で対応する方法を教える
という内容があった。何かで大学教授の手記が記載されていて、
32bitでやるようにという課題に対して、大学のシステムには64ビット処理ライブラリーが登録されていないから実行不能である(課題に間違いがある)という回答があったこと
を嘆いていた内容があった。
この手の処理で、64ビット処理を自作してやった同級生(電算課以外)がいたのですが、大型を使っていたら、電算科教授に殴られたのです。
暴行を受けているような声が聞こえたので、電算室に飛び込んだらば、教授が出て行って、痛みをこらえている同級生がいました。
電算科の暴力教授なら、単精度でやらないと殴りつけていたね。今は昔。
友有。遠方に居たり。友センターにて9割を取る博学なり。されど卒業するを能わず。
電算技術を学びたるも9割が中退す。
我5割なり。門にて脚切られたり。電算を学ぶ事能わず、4馬鹿カルテットの門に入る。
電算の夢追いて、野に下る。雅号を探せば文人の末席を汚すを知るなり。
我が電算技術は幼稚なり。人我を踏み越えて新譜を発表す。
時代の先端を征く者、時代には生きられぬ。
>>952
博物館で展示されているような、MS-DOS用ソフトのいくつかは、私が発表した内容の改良品です。
「これこれの機能はありません」と記載されていた「これこれ」は私が発表したものです。
発表から2年ぐらい遅れて申請されて特許になっていた処理方法もあったし、
こんなのやってますよ、って求人に来た某社人事部長に内容を話せば、「おかげで特許取れました」と、お茶菓子を持ってきたし。
「新しい方法を開発した」なんて、販促パンフに書いてあったソフトを買ったらば、電算課の教授陣が「(私のやり方は)無意味な方法だ」と罵倒していた方法だったりした。
同級会の帰りバスの中で「こんなソフトがあったらいいね」「お前描けよ」「英語を読まなきゃなんないからいやだ」と話していたら、だれかわからないですが、真剣に聞いていた人がいました。
この方法は発表されました。大学同窓会での会話から新規に開発されるソフトって結構多いです。
>>869 の指摘、一般教養の講義内容で、
>単精度ではおかしくなる。
倍精度を使って処理する方法があるけど、講義では単精度で対応する方法を教える
という内容があった。何かで大学教授の手記が記載されていて、
32bitでやるようにという課題に対して、大学のシステムには64ビット処理ライブラリーが登録されていないから実行不能である(課題に間違いがある)という回答があったこと
を嘆いていた内容があった。
この手の処理で、64ビット処理を自作してやった同級生(電算課以外)がいたのですが、大型を使っていたら、電算科教授に殴られたのです。
暴行を受けているような声が聞こえたので、電算室に飛び込んだらば、教授が出て行って、痛みをこらえている同級生がいました。
電算科の暴力教授なら、単精度でやらないと殴りつけていたね。今は昔。
956片山博文MZ ◆T6xkBnTXz7B0
2017/10/05(木) 22:43:02.71ID:Xv32D2hU DLLの共有セクションに変数やコードを入れれば、変数やコードを共有できるよ。
MSVCの場合は、
#pragma data_seg(".shared")
...
#pragma data_seg()
の中に変数を入れて
.defファイルに
SECTIONS
".shared" READ WRITE SHARED
と書いて、DLLのプロジェクトに.defファイルを追加する。
MSVCの場合は、
#pragma data_seg(".shared")
...
#pragma data_seg()
の中に変数を入れて
.defファイルに
SECTIONS
".shared" READ WRITE SHARED
と書いて、DLLのプロジェクトに.defファイルを追加する。
957片山博文MZ ◆T6xkBnTXz7B0
2017/10/05(木) 22:57:50.83ID:Xv32D2hU958デフォルトの名無しさん
2017/10/06(金) 00:07:58.97ID:4rQw4n+d959片山博文MZ ◆T6xkBnTXz7B0
2017/10/06(金) 00:17:07.07ID:u49AV52w gcc/g++の場合は、__attribute__((section (".shared"),??shared))を使うんだった。
960デフォルトの名無しさん
2017/10/29(日) 16:13:05.10ID:9AFyIjHV shcreatedirectoryexを無効化するにはどうしたら良いでしょうか?
962デフォルトの名無しさん
2017/11/06(月) 16:32:15.17ID:vBzMORbG PEヘッダについての質問ってどこですればいいですか?
スレチな気がします・・・けどお願いします
スレチな気がします・・・けどお願いします
963デフォルトの名無しさん
2017/11/06(月) 19:45:55.24ID:6JLIEeFJ 聴き給へ
964デフォルトの名無しさん
2017/11/06(月) 21:00:51.96ID: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)みたいです
どなたかわかりましたらよろしくお願いします
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)みたいです
どなたかわかりましたらよろしくお願いします
965デフォルトの名無しさん
2017/11/06(月) 23:03:33.39ID:9FNc82fk 手元にWindows環境がないので当てずっぽうに過ぎないが
dllがx64の奴だからと予想
dllがx64の奴だからと予想
966デフォルトの名無しさん
2017/11/06(月) 23:21:19.33ID:vBzMORbG967デフォルトの名無しさん
2017/11/07(火) 16:30:21.10ID:speVoQlz wow64の中のを入れた?
968デフォルトの名無しさん
2017/11/08(水) 00:50:49.35ID:ZqGpDlPC969デフォルトの名無しさん
2017/11/08(水) 00:59:31.38ID:ZqGpDlPC すみません、ググったら出てきました
System32フォルダに入ってる方のdllが64bit用、wow64の中が32bit用という逆転があるんですね
教えていただいた方々ありがとうございました
System32フォルダに入ってる方のdllが64bit用、wow64の中が32bit用という逆転があるんですね
教えていただいた方々ありがとうございました
970片山博文MZ ◆T6xkBnTXz7B0
2017/11/08(水) 01:01:16.79ID:TZ5JAUzS マイクロソフトは、64ビット環境で動くDLLをsystem32に格納し、32ビットのDLLをwow64に格納することにした。
32ビットと同じ名前なのは、互換性のため。詳しくはWin64APIについて調べるといい。
32ビットと同じ名前なのは、互換性のため。詳しくはWin64APIについて調べるといい。
971デフォルトの名無しさん
2017/11/08(水) 01:01:34.79ID:0mQs8SG2972デフォルトの名無しさん
2017/11/08(水) 01:31:09.47ID:MEe7IGP8 systemのままで良かったよね
973デフォルトの名無しさん
2017/11/08(水) 03:22:35.44ID:pi2d/ZnM 32ビットはブームだったからなあ
そのくせProgram Filesはx86ってなんだよって感じ
そのくせProgram Filesはx86ってなんだよって感じ
974デフォルトの名無しさん
2017/11/08(水) 03:41:30.24ID:R0qhel/o system32はWoW16でsystemを使ってたからねしょうがないね
975デフォルトの名無しさん
2017/11/08(水) 06:10:07.81ID:ZWKv78KM976デフォルトの名無しさん
2017/11/08(水) 18:38:40.88ID:ROkXXR0p win32Windowsアプリって真っ白から作るんだな昔凄い量打ち込んでやっとウィンドウ出したのを思い出したわ・・・
977デフォルトの名無しさん
2017/11/08(水) 18:48:38.98ID:ZM9wnitb main()から手打ちしてたのはwin3.1時代までだなw
978デフォルトの名無しさん
2017/11/08(水) 19:00:03.99ID:ROkXXR0p >>977
今は基礎作ってくれるのか10年前だからな基礎作るだけで学校の午後の授業が半分使ったしw
今は基礎作ってくれるのか10年前だからな基礎作るだけで学校の午後の授業が半分使ったしw
979デフォルトの名無しさん
2017/11/08(水) 19:02:13.24ID:u5hLhTv2 10年前でも、WinMainから書いて無かったか?
980デフォルトの名無しさん
2017/11/08(水) 19:07:13.31ID:ROkXXR0p 書いてなかったねえprint貰って全部手書きで最初からウィンドウの幅構成とかカタカタ打ってたなそれか楽させないために空のファイルで作らされてたか
981片山博文MZ ◆T6xkBnTXz7B0
2017/11/08(水) 19:09:52.22ID:TZ5JAUzS982デフォルトの名無しさん
2017/11/08(水) 20:59:58.61ID:ROkXXR0p 構成の仕方まだわからんから出来ない
983デフォルトの名無しさん
2017/11/08(水) 21:34:54.68ID:R0qhel/o 最後にWTLウィザード使ったのいつだろう?ってぐらいご無沙汰だわ
984デフォルトの名無しさん
2017/11/08(水) 23:59:13.54ID:S5satkVH バッチプログラムから起動するかコマンドラインから起動するかで WinMain() アプリからの戻り方が違うのが困る、いまさらだが。
985デフォルトの名無しさん
2017/11/09(木) 00:24:21.64ID:UmTkKmYx バッチで?
986デフォルトの名無しさん
2017/11/09(木) 03:45:53.03ID:5qwvxsG7 コマンドプロンプトやパワーシェル上から手入力でnotepad.exeと入力してメモ帳を起動すると、すぐに端末に制御が戻ってくる。
一方、以下の内容のように2回メモ帳を起動するbatファイルを作り実行すると一つ目のメモ帳が終わるまで待つことがわかる。
notepad.exe
notepad.exe
なお、windows10の場合、電卓calc.exeがユニバーサルWindowsプラットフォームのアプリなので
以下の内容のbatファイルからの起動でもすぐに制御が戻ってくるので電卓が2つ同時起動された状態になる。
calc.exe
calc.exe
ようするに、コンソールアプリ、Windowアプリ、ユニバーサルWindowsプラットフォームアプリの3種類でそれぞれ挙動が違う。
一方、以下の内容のように2回メモ帳を起動するbatファイルを作り実行すると一つ目のメモ帳が終わるまで待つことがわかる。
notepad.exe
notepad.exe
なお、windows10の場合、電卓calc.exeがユニバーサルWindowsプラットフォームのアプリなので
以下の内容のbatファイルからの起動でもすぐに制御が戻ってくるので電卓が2つ同時起動された状態になる。
calc.exe
calc.exe
ようするに、コンソールアプリ、Windowアプリ、ユニバーサルWindowsプラットフォームアプリの3種類でそれぞれ挙動が違う。
987デフォルトの名無しさん
2017/11/09(木) 04:18:01.90ID:OMOJ5BWv 昔はopenGLを使ってたんだったわ昔のプロジェクト起動したらおまじないがエラー起こしてた
988デフォルトの名無しさん
2017/11/09(木) 05:04:07.82ID:RrHmFgzV コマンドプロンプト上でのバッチファイル実行の挙動はDOSの仕様(MS-DOS)
バッチファイルは順次に作動するように作られてるので、WIN32プロセスの
終了待機が行われる。
ユニバーサルアプリは、DOS窓がEXEの終了待機を処理できないだけ。
WIN32アプリも、作りによっては同じく終了待機できない可能性はある。
バッチファイルは順次に作動するように作られてるので、WIN32プロセスの
終了待機が行われる。
ユニバーサルアプリは、DOS窓がEXEの終了待機を処理できないだけ。
WIN32アプリも、作りによっては同じく終了待機できない可能性はある。
989デフォルトの名無しさん
2017/11/09(木) 05:06:38.10ID:RrHmFgzV 補足すると、exeの戻り値で処理を分けるっていうのはDOS時代よく行うことだったので、
終了待機しないと戻り値が取れなくて困る。
終了待機しないと戻り値が取れなくて困る。
990デフォルトの名無しさん
2017/11/09(木) 10:21:19.15ID: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
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
991デフォルトの名無しさん
2017/11/09(木) 10:33:48.20ID:RrHmFgzV PCIE3_win10_Driver\DriverInstall.exe の終了を待ちたいけど待ってくれないなら、
このスレ的にはそれを起動して終了を待つプログラムを組めばいいんじゃない?
このスレ的にはそれを起動して終了を待つプログラムを組めばいいんじゃない?
992デフォルトの名無しさん
2017/11/09(木) 10:46:19.38ID:5qwvxsG7993デフォルトの名無しさん
2017/11/09(木) 11:23:34.26ID:UInw5/Yz 次スレよろ
994デフォルトの名無しさん
2017/11/09(木) 11:38:29.16ID:9lAepYsb 待ってくれないならループで待つようにすればいいだけの話だな
995デフォルトの名無しさん
2017/11/09(木) 16:34:53.73ID:3Mpnex4d 待っててくれないなら追いかければいいよ
996デフォルトの名無しさん
2017/11/11(土) 19:44:42.77ID:4LNBDgYy Win32API質問箱 Build124
https://mevius.5ch.net/test/read.cgi/tech/1510395780/
https://mevius.5ch.net/test/read.cgi/tech/1510395780/
997デフォルトの名無しさん
2017/11/12(日) 17:50:54.93ID:k+Q3OR2Q998デフォルトの名無しさん
2017/11/12(日) 17:51:42.96ID:k+Q3OR2Q なるほど新リンク先は 5ch がいいのか 2ch がいいのか
ようわからん
教えてけれ
ようわからん
教えてけれ
1000デフォルトの名無しさん
2017/11/12(日) 18:27:23.43ID:C1sLEmf0 ラスト
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 400日 5時間 54分 21秒
新しいスレッドを立ててください。
life time: 400日 5時間 54分 21秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 日経平均の下落率3%超す、財政懸念で長期金利上昇 ★2 [お断り★]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【高市朗報】 日本政府「一昨年は1300億円。去年も防衛費が1100億円余ったw」 日本の防衛費は充分足りてる事が判明。増やす必要無し [485983549]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 高市早苗「支持者の理解を得られないので台湾発言を撤回できない」 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
