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


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

Win32API質問箱 Build123



1 名前:デフォルトの名無しさん mailto:sageteoff [2016/10/08(土) 12:33:02.29 ID:0jaJMPXG.net]
Win32APIについての質問はこちらへどうぞ。

■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。
 英語版( msdn.microsoft.com/en-us/library/ )の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで

■過去スレ
Win32API質問箱 Build122
echo.2ch.net/test/read.cgi/tech/1451988219/

892 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 03:05:32.57 ID:OZczKUwr.net]
謝礼渡す基準は?
まぁ誰も触るわけないだろうが

893 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 11:26:08.01 ID:7ABpskwx.net]
ギフト券を受け取るには10000円分のギフトIDを報告する必要があります

894 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 12:36:12.89 ID:CgqsIdu0.net]
古来からあるリソースエディタと何が違うの?
と思ったら、リソースエディタじゃなくてリソーエディタかよ。
で、なにこれ?

895 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 12:45:40.74 ID:dGip1y4C.net]
リンク踏む気にもならんな

896 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 14:38:17.78 ID:OZczKUwr.net]
ドヤ顔でリリースしましたとか言ってるけど
こんな誰に需要あるのかわからないゴミみたいなオナニーツール触ってくれる奴なんかおるんかね

897 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 14:42:29.95 ID:oJHPfbUh.net]
おまいら親切だな
いちいち相手してあげて

898 名前:片山博文MZ mailto:sage [2017/09/26(火) 16:22:16.43 ID:mKY8ED9y.net]
>>881
未知のバグであること。
メールで連絡が取れること。
Amazonギフト券を受け取る意思があること。

899 名前:片山博文MZ mailto:sage [2017/09/26(火) 16:24:29.68 ID:mKY8ED9y.net]
>>883
EXEやDLLに含まれているリソースを追加・編集・抽出・削除ができるツールです。
ダイアログエディタ代わりに使うこともできます。

900 名前:片山博文MZ mailto:sage [2017/09/26(火) 16:38:39.81 ID:mKY8ED9y.net]
>>885
ドヤ顔が見えますか? それは幻覚です。病院へ行って下さい。映画を観ない人は、映画評論家になる資格は
ありません。公共の掲示板でお下品な話はやめましょうね。わからないのは、あなたの知能が足りないからです。



901 名前:片山博文MZ mailto:sage [2017/09/26(火) 16:41:56.72 ID:mKY8ED9y.net]
>>884
リンクは踏むものですか? クリックするものじゃないですか?

902 名前:片山博文MZ mailto:sage [2017/09/26(火) 16:42:20.94 ID:mKY8ED9y.net]
>>882
ありません。

903 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 16:50:48.66 ID:CgqsIdu0.net]


904 名前:>>888
昔からあるリソースハッカーとかと何か違うところあるのかなってのが主旨で、
分かったのは名前が違ったって点なの。
何ができるかは貴殿の書いてるとおり分かっています。
[]
[ここ壊れてます]

905 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 16:58:00.73 ID:dGip1y4C.net]
XN Resource Editor 最強説

906 名前:片山博文MZ mailto:sage [2017/09/26(火) 17:22:42.38 ID:mKY8ED9y.net]
>>892
拡張性が高い。
オープンソース。
リソースIDの関連付けを設定すれば、resource.hが読める。
GUI編集が可能。

907 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 17:27:19.78 ID:oJHPfbUh.net]
スレチだアホ

908 名前:片山博文MZ mailto:sage [2017/09/26(火) 18:01:27.06 ID:mKY8ED9y.net]
ソース見ればわかると思うけど、C++03とWin32APIだけで作った。

909 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 18:45:08.23 ID:piJXswiP.net]
スレチ

910 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 04:02:55.04 ID:f2v5tQrk.net]
客観的に見てバグと思われるものは全部未知のバグなんだけど頭大丈夫か?
片山が未知のバグに対して”仕様です”と言わない保証は?
まともな頭ならこっちが発見したバグは全部未知のバグで1回報告するたびに5千円くれるのか?
まぁ誰も触らんだろうが



911 名前:片山博文MZ mailto:sage [2017/09/27(水) 04:42:53.66 ID:wqCON9vO.net]
>>898
確かに非加算無限個存在するかも知れないが、デパートの試食コーナーみたいに常識的に考えてくれ。

912 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 05:39:27.71 ID:Cy9euBKG.net]
片山の相手をしている奴も正気を疑うが

913 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 07:54:56.73 ID:Ep3hxvTm.net]
非加算無限個www

914 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 10:38:38.93 ID:k2PS2F7X.net]
>>894
GUI編集って、例えばダイアログイメージが表示されてマウスで移動やサイズ変更可能ってこと?
それならまあ、いつか使うかもね。

915 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 11:42:36.33 ID:zCHNwx74.net]
誰か助けてください
ゲームのマウスの入力読み取りが、RawInputと DirectInput ありますよね、
昔は設定でオン、オフがあったのに、いつの間にか設定を無くし、RawInputを強要する糞アプリがあります!!

これを、強制的にRawからDirectInputにしたいのですが

なにをどうすればいいのですか?

フックして raw inputをブロックすれば実現できます?

そもそも raw inputのマウスってどのAPIなのか、詳細分かりません

ヘルプ
たのんます

916 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 17:03:40.82 ID:7dA/9JOQ.net]
元のアプリからDirectInput用のコードが削除されてたら
何やっても無理じゃね?無いんだから

917 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 18:49:01.07 ID:zCHNwx74.net]
はい? raw inputってXP以降しか使えないんですが?
じゃあ2Kで動かしたらどうなる訳、ってraw inputの有無で切り替えてるわけですよね

だからWndProcフックしてraw input関係の該当API?を防げば いいと思ってるわけで、

APIのプロが集うであろう当スレで聞いてるわけですが?

918 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 18:51:50.24 ID:I+WFkDPH.net]
アプリ以上に糞な奴だな

919 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 19:32:45.39 ID:CtWRhHzI.net]
XPのサポートどころかVistaのサポートも切れてるのに何を言っているのやら。
きっと、設定とともに切り替える機能自体も削除されてるだろ。

920 名前:片山博文MZ mailto:sage [2017/09/27(水) 19:43:59.36 ID:wqCON9vO.net]
仮想OS使えば〜?



921 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 20:00:59.41 ID:zCHNwx74.net]
>>907
だから、削除されてるとかそういう勝手な妄想はいらないんですよ
てか、Directinput無かったら2kのマウスは何で動いてるんすか?笑
2kでも動いた、これが事実ですから。
↑に書いたようにraw inputのAPIをファックしてしまえばDirectinputなるんですよ

raw inputマウスだけでキーボードはDirectinputですしね

後から追加にしたに過ぎず、100%UIからON、OFF消し去っただけなんですよ

ってわけで有益なアドバイスをお願いします

922 名前:片山博文MZ mailto:sage [2017/09/27(水) 20:02:58.50 ID:wqCON9vO.net]
DLLインジェクションでAPI関数を置き換え

923 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 20:04:21.30 ID:zCHNwx74.net]
>>908
仮想OSとか持ち出したらAPIスレの意義は?
仮想は遅いから嫌ですね、、

コテハンの力見せて下さいよ、お願いします

924 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 20:09:02.92 ID:CtWRhHzI.net]
>>909
あぁ、現行のバージョンでも2kで動くのか。
>>905の書き方じゃ意味が分からなかったよ。

925 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 20:17:19.60 ID:ExBmpI99.net]
後出しの説明にレスすんじゃねえよ
>>905の説明に方を付けてもらわないとな

926 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 20:24:19.97 ID:oG2Zpa4d.net]
DirectInputのコードが残ってんなら
俺だったらOllyDbgで調べて、分岐しているところを
WriteProcessMemory()で書き換えるプログラムをつくる

927 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 21:55:19.23 ID:zCHNwx74.net]
DLLインジェクションでAPI関数を置き換え

↑これをしたいのですが意味が分かりません
今回の置き換えるべき関数名でSetWindowsHookEx を使いサンプルコードを示してください

928 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 22:00:15.91 ID:hZX+opcA.net]
> てか、Directinput無かったら2kのマウスは何で動いてるんすか?笑
ぶっちゃけFPSとかでもなけりゃWM_MOUSEMOVEで大抵事足りるべな

929 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 22:28:55.48 ID:Cy9euBKG.net]
頭悪いって大変だよな〜

930 名前:片山博文MZ mailto:sage [2017/09/27(水) 22:31:28.31 ID:wqCON9vO.net]
まずはDLL作って原理を覚えるところから始めないと



931 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 08:16:32.65 ID:H8dM1RkU.net]
>>915
それもう丸投げだから諦めろ
普通にAPIフック関係の色んなページ見て
自分なりに統合させて試行錯誤しろ

932 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 10:29:02.28 ID:mxHsq9Is.net]
マルチ

933 名前:片山博文MZ mailto:sage [2017/09/28(木) 12:57:11.07 ID:kdrH0PSi.net]
ほらよ。これがAPIフックのサンプルだ。
https://github.com/katahiromz/SimpleApiHook

DLLの動作原理とCMakeの使い方を勉強しろよ。

934 名前:903 mailto:sage [2017/09/28(木) 13:41:17.72 ID:te0QQW2V.net]
皆さんありがとうございます。
APIフック関連ページ読み漁ってますが、direct→rawを試みてる人はちらほら居ても、逆はいなくてソース無いので難航してます。

それで現状の知識では、目的のAPIフック完成させれていないので、私がやろうとしてる事は実現可能なのかだけお聞きしたいので、どなたか回答お願いします

>>916を見て、調べなおしたのですが、
2kはDirectinputに切り替わっているといいましたが、これは誤りでした。
単にタイトル画面、設定画面といった画面でのみ、OS関係なく
Directinput、WM_MOUSEMOVE(Windows Input?)どちらかは分かりませんが、とにかくRawinput以外を使っているだけでした

で、お聞きしたいことですが、
DLLインジェクトでRawinputの関数をフックして、DirectinputもしくはWindows Inputの関数に飛ばすわけですよね

コードがあるといっても、メニュー画面だけなわけですが、
上記のようなフックをした場合、メニュー画面以外でもマウス動くのでしょうか?

推測で構わないので教えてください、よろしくお願いします

935 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 14:35:28.79 ID:jImnQ5Gm.net]
> 上記のようなフックをした場合、メニュー画面以外でもマウス動くのでしょうか?
アプリの作りによる

> 実現可能なのかだけお聞きしたい
可能
だけどお前に作れるとは思えない。作者に再サポートするように要望出せ。メールに数万分ギフトコード添えれば修正の可能性上がる

936 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 20:44:32.90 ID:te0QQW2V.net]
>>923
今回のはAPIフックすれば出来ることでしょ?
raw→direct置き換えで
もし、アプリ側にdirectInputのコードが残ってなかったら、
DLLインジェクションでその処理も追加しないといけなくて、その場合一気に敷居が高

937 名前:ュなるってことですよね?

今回は幸いにも、メニュー画面だけとはいえ、directInputで処理されてる部分が残ってるので、
APIフックで飛ばしてしまえば目的動作するわけで、
その手助けをお願いしてるんですよ?
要望出してこたえるような作者だったらとっくにやってますわ
[]
[ここ壊れてます]

938 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 20:52:04.74 ID:te0QQW2V.net]
あと、片山博文MZ ◆T6xkBnTXz7B0さんのサンプル見たんですけど、
これIAT書き換えですよね。
アプリOEP書き換えられてるのでこの方法は無理くさいんです

そこで今、MS detoursってフックライブラリを用いてAPIフックしたいんですけど上手くいきません

detour分かる人いませんか?

Cスレで聞いてますが、内容ほぼAPI関係ですしCスレ住人では手に負えないようなので、
APIのプロである皆さんの手助けをお願いします

DLLの動作原理は理解しました。DLL=アプリ拡張。exeにぶちこんで機能追加、動作変更とやりたい放題出来るのがdll

939 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 21:02:10.43 ID:plgdDRJR.net]
う〜ん。
自分は識者とはとても呼べないレベルだけど、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

940 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 21:04:11.65 ID:9inLL+H4.net]
>>924
フックで出来ると思うなら、とりあえずフックして置き換えてみればいいじゃん
それが可能かどうかなんて実際に試すかエスパーじゃない限り分らないよw



941 名前:片山博文MZ mailto:sage [2017/09/28(木) 21:20:53.09 ID:Msp1dHAD.net]
UPXによるアンパックは試してみたか?

多分、IATの再構築が必要。

942 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 23:15:38.58 ID:LqzHR2s+.net]
DirectInput を使うメリットが分からない。
遅延させたいのかね。

943 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 00:28:00.92 ID:RPVfxA+q.net]
directinputとraw inputは実装方法が異なるからapihookで修正するのはかなり面倒くさいと思うんだが。
あとeasyhookってライブラリがお勧め。

944 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 01:23:58.99 ID:JdAsAkqo.net]
フックするよりバイナリ書き換えたほうが早いんじゃないか?

945 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 03:50:21.56 ID:OKETC/Nl.net]
このスレの1にAdvanced Windows読めよって書いてなかったっけ
読んでから質問しろで終わりだろ
なに相手してんだ馬鹿どもが

946 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 06:20:31.11 ID:XCA+sdta.net]
>>903-905
この流れでこいつ相手するのはちょっとなってなるんだけど、暇だからなw

947 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 07:54:38.41 ID:zrPER7+W.net]
>>924
フックで飛ばすのは意識だけにしとけ

>>925
> DLLの動作原理は理解しました。DLL=アプリ拡張。exeにぶちこんで機能追加、動作変更とやりたい放題出来るのがdll
全然違う
万能ではない

948 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 08:02:36.27 ID:jgex0uNR.net]
どこから「万能」とかいう単語が出て来た?
頭おかしい?

949 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 08:19:00.83 ID:zrPER7+W.net]
>>935
> やりたい放題

950 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 08:26:10.73 ID:XCA+sdta.net]
一般的なdllの定義とは違うけど、やりたい放題はできる



951 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 08:41:13.28 ID:zrPER7+W.net]
>>937
ぶちこめればって前提つき?

952 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 09:01:43.36 ID:tIQyCYwJ.net]
やりたい放題を万能と訳してしまう文盲がいると聞いて

953 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 09:12:29.27 ID:XCA+sdta.net]
日本語としてはイコールじゃないが、これはイコールでいいだろ
そういうの読めないほうが…

954 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 09:23:48.72 ID:zrPER7+W.net]
>>940
>>935>>939もスルーでいいよ
論点には突っ込めずただ煽りたいだけだろうし

955 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 09:44:33.30 ID:Rcj5pIbT.net]
スレのテンプレも読めない奴が言うと草

956 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 15:54:05.43 ID:RCSwdawe.net]
BYTE型の配列をメモリ上で圧縮展開できないか調べてます。
形式はZIPでもそれ以外でもなんでもいいです。

C#だとDeflateStreamというクラスがあるようなのですが、
Win32APIではどういう方法が考えられますか?

957 名前:片山博文MZ mailto:sage [2017/10/02(月) 16:04:59.75 ID:glCRVK81.net]
lzexpandかexpand.exeなら圧縮ファイルの展開ができる。メモリー上でやりたいなら、Win32APIじゃないけどzlibがスタンダード。

958 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 16:11:45.58 ID:oE42sBRL.net]
RLE

959 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 16:30:11.11 ID:L6BLLTIR.net]
Cabinet.dll系

960 名前:デフォルトの名無しさん mailto:sage [2017/10/03(火) 21:46:20.74 ID:njFrOp6b.net]
>>879
ID:xJTY0L3vは、そのスレを私物化した頭がおかしい人
この人の文章は特徴があるから、該当したらスルー推奨

ここにまで出張してきたのか、なんてこったい



961 名前:デフォルトの名無しさん [2017/10/04(水) 22:35:29.05 ID:PQrbpt2K.net]
>>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の頃のルーチンの復活、半自動化したチルドレン作成ソフトの復活となった。
ここでは、このあたりの指摘をする人がいないので、探したところ
大学のサイトで、解説があった。
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
www-higashi.ist.osaka-u.ac.jp/~y-nakamr/lecture/systemsprograming2008/sp20081015.pdf
のが見つかった。
日曜プログラマーなので、障害対応ルーチン、つまり、現在実行中のルーチン名、正常終了以外の場合の終了情報、異常値で参照された場合の自動復旧情報をファイルに出力し続けている。
専門のプログラマーはあまりやらない機能だが、ド素人が行う場合には必須の機能。専門のプログラマーの方でも、ゲームプログラムの実行状況をRS-232Cから垂れ流すという市販ソフトがあった。
これが邪魔して、DLL化ができないでいる。

962 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 22:40:41.59 ID:arhAZny/.net]
病院行っとけよ

963 名前:片山博文MZ mailto:sage [2017/10/04(水) 23:02:37.86 ID:HMkkIXOi.net]
DLL化実現したくば、此、再入可能な算符で新たなる記憶管理法に改める事を強いる。新時代たる基本軟件の見識を理解せずば、現代的に非ず也。

964 名前:片山博文MZ mailto:sage [2017/10/04(水) 23:21:47.13 ID:HMkkIXOi.net]
日曜博客を名乗る者共、何時迄プロに転身せぬ身の程を哀しむ乎。是、翌檜にも劣る迷い人と見るに、難儀なる人生を案ずる也。
我、所謂ギットハブなるウェッブ居留地にて自分の造成物を多数散布しけり。時代を先取るべき博客が時代に遅れるとは如何に惨めなる乎。

965 名前:片山博文MZ mailto:sage [2017/10/04(水) 23:29:27.16 ID:HMkkIXOi.net]
ここまで古いヤツが居たとは。。。
博物館行き決定!!!

966 名前:デフォルトの名無しさん [2017/10/05(木) 22:13:32.68 ID:NosQ3QuL.net]
>>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
な方々が、同じような処理をコピーするなというのです。

967 名前:デフォルトの名無しさん [2017/10/05(木) 22:14:41.62 ID:NosQ3QuL.net]
>>951
友有。遠方に居たり。友センターにて9割を取る博学なり。されど卒業するを能わず。
電算技術を学びたるも9割が中退す。
我5割なり。門にて脚切られたり。電算を学ぶ事能わず、4馬鹿カルテットの門に入る。
電算の夢追いて、野に下る。雅号を探せば文人の末席を汚すを知るなり。
我が電算技術は幼稚なり。人我を踏み越えて新譜を発表す。
時代の先端を征く者、時代には生きられぬ。
>>952
博物館で展示されているような、MS-DOS用ソフトのいくつかは、私が発表した内容の改良品です。
「これこれの機能はありません」と記載されていた「これこれ」は私が発表したものです。
発表から2年ぐらい遅れて申請されて特許になっていた処理方法もあったし、
こんなのやってますよ、って求人に来た某社人事部長に内容を話せば、「おかげで特許取れました」と、お茶菓子を持ってきたし。
「新しい方法を開発した」なんて、販促パンフに書いてあったソフトを買ったらば、電算課の教授陣が「(私のやり方は)無意味な方法だ」と罵倒していた方法だったりした。
同級会の帰りバスの中で「こんなソフトがあったらいいね」「お前描けよ」「英語を読まなきゃなんないからいやだ」と話していたら、だれかわからないですが、真剣に聞いていた人がいました。
この方法は発表されました。大学同窓会での会話から新規に開発されるソフトって結構多いです。

>>869 の指摘、一般教養の講義内容で、
>単精度ではおかしくなる。
倍精度を使って処理する方法があるけど、講義では単精度で対応する方法を教える
という内容があった。何かで大学教授の手記が記載されていて、
32bitでやるようにという課題に対して、大学のシステムには64ビット処理ライブラリーが登録されていないから実行不能である(課題に間違いがある)という回答があったこと
を嘆いていた内容があった。
この手の処理で、64ビット処理を自作してやった同級生(電算課以外)がいたのですが、大型を使っていたら、電算科教授に殴られたのです。
暴行を受けているような声が聞こえたので、電算室に飛び込んだらば、教授が出て行って、痛みをこらえている同級生がいました。
電算科の暴力教授なら、単精度でやらないと殴りつけていたね。今は昔。

968 名前:片山博文MZ mailto:sage [2017/10/05(木) 22:32:50.80 ID:Xv32D2hU.net]
>>953
ファイルマッピングを使えば、メモリー領域を共有できるよ。

969 名前:片山博文MZ mailto:sage [2017/10/05(木) 22:43:02.71 ID:Xv32D2hU.net]
DLLの共有セクションに変数やコードを入れれば、変数やコードを共有できるよ。
MSVCの場合は、
#pragma data_seg(".shared")
...
#pragma data_seg()
の中に変数を入れて
.defファイルに
SECTIONS
".shared" READ WRITE SHARED
と書いて、DLLのプロジェクトに.defファイルを追加する。

970 名前:片山博文MZ mailto:sage [2017/10/05(木) 22:57:50.83 ID:Xv32D2hU.net]
https://msdn.microsoft.com/ja-jp/library/h90dkhs0.aspx



971 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 00:07:58.97 ID:4rQw4n+d.net]
>>956
ちょこっとだけメモリ共有したいときいいよね
排他処理に InterlockedExchange なんかを使って

972 名前:片山博文MZ mailto:sage [2017/10/06(金) 00:17:07.07 ID:u49AV52w.net]
gcc/g++の場合は、__attribute__((section (".shared"),shared))を使うんだった。

973 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 16:13:05.10 ID:9AFyIjHV.net]
shcreatedirectoryexを無効化するにはどうしたら良いでしょうか?

974 名前:片山博文MZ mailto:sage [2017/10/29(日) 16:14:21.78 ID:k1qoOab2.net]
>>960
APIフック。

975 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 16:32:15.17 ID:vBzMORbG.net]
PEヘッダについての質問ってどこですればいいですか?
スレチな気がします・・・けどお願いします

976 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 19:45:55.24 ID:6JLIEeFJ.net]
聴き給へ

977 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 21:00:51.96 ID:vBzMORbG.net]
ありがとうございます

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)みたいです

どなたかわかりましたらよろしくお願いします

978 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 23:03:33.39 ID:9FNc82fk.net]
手元にWindows環境がないので当てずっぽうに過ぎないが
dllがx64の奴だからと予想

979 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 23:21:19.33 ID:vBzMORbG.net]
>>965
ありがとうございます、user「32」.dllとなっていたのでx86と同じだと思っていました
試してみたいですけど家に32bit環境ないですね・・・

980 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 16:30:21.10 ID:speVoQlz.net]
wow64の中のを入れた?



981 名前:デフォルトの名無しさん mailto:sage [2017/11/08(水) 00:50:49.35 ID:ZqGpDlPC.net]
>>967

>>964です
wow64のなかにあったuser32.dllを使うと動きました、ありがとうございます!
できれば、なぜ64bit版としか思えないフォルダ名のなかのものなら動いたのか、そもそもwow64とsystem32の同名ファイルは何が違うのか教えていただけないでしょうか?

982 名前:デフォルトの名無しさん mailto:sage [2017/11/08(水) 00:59:31.38 ID:ZqGpDlPC.net]
すみません、ググったら出てきました
System32フォルダに入ってる方のdllが64bit用、wow64の中が32bit用という逆転があるんですね

教えていただいた方々ありがとうございました

983 名前:片山博文MZ mailto:sage [2017/11/08(水) 01:01:16.79 ID:TZ5JAUzS.net]
マイクロソフトは、64ビット環境で動くDLLをsystem32に格納し、32ビットのDLLをwow64に格納することにした。
32ビットと同じ名前なのは、互換性のため。詳しくはWin64APIについて調べるといい。

984 名前:デフォルトの名無しさん mailto:sage [2017/11/08(水) 01:01:34.79 ID:0mQs8SG2.net]
>>968
wow64 = Windows (32bit) on Windows 64bit
→32bit

system32 = 昔(32bit)の時のフォルダー名変更してないだけ
→64bit

985 名前:デフォルトの名無しさん mailto:sage [2017/11/08(水) 01:31:09.47 ID:MEe7IGP8.net]
systemのままで良かったよね

986 名前:デフォルトの名無しさん [2017/11/08(水) 03:22:35.44 ID:pi2d/ZnM.net]
32ビットはブームだったからなあ
そのくせProgram Filesはx86ってなんだよって感じ

987 名前:デフォルトの名無しさん [2017/11/08(水) 03:41:30.24 ID:R0qhel/o.net]
system32はWoW16でsystemを使ってたからねしょうがないね

988 名前:デフォルトの名無しさん [2017/11/08(水) 06:10:07.81 ID:ZWKv78KM.net]
>>969
w(32) on w64
の略だから逆転はしていない
紛らわしいネーミングだとは思うが
ディレクトリ名決め打ちの糞ソフトが
大量に出回ったあとだからやむを得ない

989 名前:デフォルトの名無しさん [2017/11/08(水) 18:38:40.88 ID:ROkXXR0p.net]
win32Windowsアプリって真っ白から作るんだな昔凄い量打ち込んでやっとウィンドウ出したのを思い出したわ・・・

990 名前:デフォルトの名無しさん mailto:sage [2017/11/08(水) 18:48:38.98 ID:ZM9wnitb.net]
main()から手打ちしてたのはwin3.1時代までだなw



991 名前:デフォルトの名無しさん [2017/11/08(水) 19:00:03.99 ID:ROkXXR0p.net]
>>977
今は基礎作ってくれるのか10年前だからな基礎作るだけで学校の午後の授業が半分使ったしw

992 名前:デフォルトの名無しさん mailto:sage [2017/11/08(水) 19:02:13.24 ID:u5hLhTv2.net]
10年前でも、WinMainから書いて無かったか?

993 名前:デフォルトの名無しさん [2017/11/08(水) 19:07:13.31 ID:ROkXXR0p.net]
書いてなかったねえprint貰って全部手書きで最初からウィンドウの幅構成とかカタカタ打ってたなそれか楽させないために空のファイルで作らされてたか

994 名前:片山博文MZ mailto:sage [2017/11/08(水) 19:09:52.22 ID:TZ5JAUzS.net]
今じゃWTLとかMFCとかが無料で使えるから、手作業は減っているはずだ。

https://github.com/katahiromz/MZC4

995 名前:デフォルトの名無しさん [2017/11/08(水) 20:59:58.61 ID:ROkXXR0p.net]
構成の仕方まだわからんから出来ない

996 名前:デフォルトの名無しさん [2017/11/08(水) 21:34:54.68 ID:R0qhel/o.net]
最後にWTLウィザード使ったのいつだろう?ってぐらいご無沙汰だわ

997 名前:デフォルトの名無しさん mailto:sage [2017/11/08(水) 23:59:13.54 ID:S5satkVH.net]
バッチプログラムから起動するかコマンドラインから起動するかで WinMain() アプリからの戻り方が違うのが困る、いまさらだが。

998 名前:デフォルトの名無しさん mailto:sage [2017/11/09(木) 00:24:21.64 ID:UmTkKmYx.net]
バッチで?

999 名前:デフォルトの名無しさん [2017/11/09(木) 03:45:53.03 ID:5qwvxsG7.net]
コマンドプロンプトやパワーシェル上から手入力でnotepad.exeと入力してメモ帳を起動すると、すぐに端末に制御が戻ってくる。

一方、以下の内容のように2回メモ帳を起動するbatファイルを作り実行すると一つ目のメモ帳が終わるまで待つことがわかる。
notepad.exe
notepad.exe

なお、windows10の場合、電卓calc.exeがユニバーサルWindowsプラットフォームのアプリなので
以下の内容のbatファイルからの起動でもすぐに制御が戻ってくるので電卓が2つ同時起動された状態になる。
calc.exe
calc.exe

ようするに、コンソールアプリ、Windowアプリ、ユニバーサルWindowsプラットフォームアプリの3種類でそれぞれ挙動が違う。

1000 名前:デフォルトの名無しさん [2017/11/09(木) 04:18:01.90 ID:OMOJ5BWv.net]
昔はopenGLを使ってたんだったわ昔のプロジェクト起動したらおまじないがエラー起こしてた



1001 名前:デフォルトの名無しさん mailto:sage [2017/11/09(木) 05:04:07.82 ID:RrHmFgzV.net]
コマンドプロンプト上でのバッチファイル実行の挙動はDOSの仕様(MS-DOS)

バッチファイルは順次に作動するように作られてるので、WIN32プロセスの
終了待機が行われる。
ユニバーサルアプリは、DOS窓がEXEの終了待機を処理できないだけ。
WIN32アプリも、作りによっては同じく終了待機できない可能性はある。

1002 名前:デフォルトの名無しさん mailto:sage [2017/11/09(木) 05:06:38.10 ID:RrHmFgzV.net]
補足すると、exeの戻り値で処理を分けるっていうのはDOS時代よく行うことだったので、
終了待機しないと戻り値が取れなくて困る。

1003 名前:デフォルトの名無しさん [2017/11/09(木) 10:21:19.15 ID:5qwvxsG7.net]
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

1004 名前:デフォルトの名無しさん mailto:sage [2017/11/09(木) 10:33:48.20 ID:RrHmFgzV.net]
PCIE3_win10_Driver\DriverInstall.exe の終了を待ちたいけど待ってくれないなら、
このスレ的にはそれを起動して終了を待つプログラムを組めばいいんじゃない?

1005 名前:デフォルトの名無しさん mailto:sage [2017/11/09(木) 10:46:19.38 ID:5qwvxsG7.net]
>>991
失礼。質問したかったんじゃなくて、バッチがいまだ現役な例をあげた。
バッチでPCIE3_win10_Driver\DriverInstall.exe を終了待ちできてるので問題ない。

1006 名前:デフォルトの名無しさん mailto:sage [2017/11/09(木) 11:23:34.26 ID:UInw5/Yz.net]
次スレよろ

1007 名前:デフォルトの名無しさん mailto:sage [2017/11/09(木) 11:38:29.16 ID:9lAepYsb.net]
待ってくれないならループで待つようにすればいいだけの話だな

1008 名前:デフォルトの名無しさん mailto:sage [2017/11/09(木) 16:34:53.73 ID:3Mpnex4d.net]
待っててくれないなら追いかければいいよ

1009 名前:デフォルトの名無しさん [2017/11/11(土) 19:44:42.77 ID:4LNBDgYy.net]
Win32API質問箱 Build124
https://mevius.5ch.net/test/read.cgi/tech/1510395780/

1010 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 17:50:54.93 ID:k+Q3OR2Q.net]
test
mevius.2ch.net/test/read.cgi/tech/1510395780/



1011 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 17:51:42.96 ID:k+Q3OR2Q.net]
なるほど新リンク先は 5ch がいいのか 2ch がいいのか
ようわからん
教えてけれ

1012 名前:片山博文MZ mailto:sage [2017/11/12(日) 17:55:07.59 ID:hcIx1LXl.net]
>>998
将来的には5chに移行するから、5chがいい。

1013 名前:デフォルトの名無しさん [2017/11/12(日) 18:27:23.43 ID:C1sLEmf0.net]
ラスト

1014 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 400日 5時間 54分 21秒

1015 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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