問題タブ [winmain]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - Windows アプリケーションを静的にビルドするときのエラー
すべてを動的にリンクするとコンパイルして正常に動作するアプリケーションがありますが、静的にビルドしたい場合はコンパイルされません。
Visual Studio 2010 で、「スタティック ライブラリで MFC を使用する」オプションを設定しました。
これを行うと、次のエラーが表示されます。
追加のライブラリとして追加しようとしLIBCMT.lib
ましたが、何も変わりません。
この問題を解決する方法についてのアイデアはありますか?
c++ - WinMain エントリポイントをクラスに埋め込みますか?
win32 プログラムのエントリ ポイントである WinMain をクラス メソッドとして使用することは可能でしょうか? 例えば;
ありがとう!
winapi - アセンブラー: Win32 の WinMain オンスタック パラメーターの取得
アセンブリを使用してパラメーターにアクセスする必要がありますWinMain
が、スタック内のどこにあるかを知っていると思われるにもかかわらず、アクセスできないようです (DWORD オフセット 0 から 16、および操作前に EBP をプッシュする場合は 0 から 20)。以下に、プログラムのコマンド ラインlpszCmdline
を含む文字列を表示する例を示しますが、常に 0 が含まれているように見えるため、何も表示されません。アセンブリ コードで他の引数を使用しようとすると、有効な文字列ポインターが存在しないように見えたり、予想どおりプログラムがクラッシュしたりします。
ただし、使用するGetCommandLine
と、コマンドライン文字列への有効なポインターを取得でき、表示されます。
最初のコード ブロックのどこにエラーがありますか? パラメータを取得するには何が必要で、独自のコードを実装して有効なポインタを結果として他のパラメータに返すことができるlpszCmdLine
ようにする必要がありますか? GetCommandLine
WinMain
スタックからコマンド ライン ポインターを取得できない場合は、nCmdShow
他の重要な初期化用の などの他のパラメーターを取得できない可能性があります。
上記以外のコードが必要な場合はお知らせください。知っておくと便利な場合は、リンカを使用せずに完全に手動で EXE を生成しました (追加のスタック パラメータのように、.NET に違いはありますか?) 。WinMain
含まれるプログラムの2つの異なるオプションになります。
windows - WindowsXPでのNASMによるプログラミング
Windows XP 32ビット、2.09.08NASMで正常にアセンブルおよび実行される次のコードがあります。
NASMの多くのチュートリアルによると、asmファイルには次のものが必要です。
ご覧のとおり、私のasmファイルにはそれが含まれていません。(コメントアウトされています。持っているのは_startだけです)。では、これらのチュートリアルのすべてで、アセンブリプログラムにグローバルな_WinMain @ 16がなくても機能する場合に、グローバルな_WinMain@16のものが必要であることに言及しているのは何でしょうか。
これはアセンブルするコマンドです:nasm -f elf test.asm
これはリンクするコマンドです:ld -o test.exe test.o
c++ - winmain@16エラー
私はこのコードをオンラインで見つけてコンパイルしようとしていますが、gccは.があると私に言い続けundefined reference to WinMain@16
ます。どこから来たのかわからないので、コード全体を投稿します。オンラインで検索した後、私は人々がint main()
間違って書いた答えを見つけただけで、それを修正することでうまくいきました。これはこのコードでは機能しません。
このコードを実行するにはどうすればよいですか?
c++ - MFC の wWinMain はどのようにして実行可能ファイルになりますか?
MFC では、wWinMain
で定義されていappmodul.cpp
ます。私が見る限り、このファイルは mfc90ud.dll に組み込まれています。ただし、アプリケーションを実行すると、コール スタックが表示されますMyApplication.exe!wWinMain
。wWinMain
エクスポートされた関数をどのように取得appmodul.obj
し、アプリケーションに配置しましたか?
c++ - prevInstance が常に NULL の場合、WinMain と wWinMain に存在するのはなぜですか?
初心者なのでとても初歩的な質問かもしれません。DirectX 11 を開始しています。最初のアプリケーションの作成中に wWinMain が使用され、WinMain と wWinMain の違いを探しているときに、このパラメーター prevInstance に出会いました。
MSDN によれば、prevInstance は常に null であり、常に null であるため、なぜ存在するのでしょうか (作成者が無用なパラメーターを与えていないと考えるのは論理的であるため)。そして(本から引用)、
アプリケーションの以前のインスタンスが既に実行されているかどうかを判断する方法が必要な場合、ドキュメントでは CreateMutex を使用して一意の名前のミューテックスを作成することを推奨しています。ミューテックスは作成されますが、CreateMutex 関数は ERROR_ALREADY_EXISTS を返します。
ミューテックスとは何か、およびその使用方法 (適切なリンクで十分です)。また、アプリケーションの別のインスタンスが存在するかどうかを確認するには、メソッドが必要なようです。prevInstance には、それへのポインタまたは参照が必要ですが、null であるため、明らかにそうではありません。その理由と、prevInstance の役割は何ですか?
winapi - Winmain が自動起動時にメッセージを表示できない
私はwin32プログラムを持っています。手動で実行するとWinMainにメッセージが表示されますが、同じプログラムをレジストリ(実行)の下に置くと、PCの再起動時に自動的に実行され、メッセージは表示されません(ただし、プログラム普通に走る)。
プログラムを手動で (exe ファイルをクリックして) 起動する場合と、自動で (Windows レジストリを介して) 起動する場合に違いがある理由を知っている人はいますか?
ありがとう
クレメント
c++ - winmain() 関数 / c++
WinMain()
関数の最後に一般的に書かれているこのステートメントの意味を説明してください。
コンソール アプリケーションをreturn 0;
is it wrong for windows applications で終了することに慣れていますか?
ありがとうございました。
c++ - winmain() 関数を隠す
WinMain()
関数をクラス内に隠す方法はありますか? ありがとうございました。