問題タブ [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++ - C++ での WinMain、main、DllMain の違い
3 つの機能の違いと、それらをいつ使用するか??
c - WinMain を使用せずに Windows アプリケーションを作成するにはどうすればよいですか?
C/C++ で記述された Windows GUI アプリケーションには、(「main」ではなく) エントリ ポイントとして「WinMain」があります。これについての私の理解は、コンパイラが C ランタイムによって呼び出される「メイン」関数を生成するということです。この「main」関数は、GUI に必要な環境をセットアップし、「WinMain」を呼び出します (インスタンス ハンドルなどを指定します)。
要するに、コンソールと GUI アプリケーションの起動は次のように異なると思います。
コンソール アプリケーション: C ランタイム --> 'main' 関数 (ハンドコーディング)
GUI アプリケーション: C ランタイム --> 'main' 関数 (コンパイラ生成) --> 'WinMain' 関数 (ハンドコーディング)
この理解を検証し、「メイン」関数だけで (つまり、「WinMain」を記述する必要なく) Windows GUI をハンドコーディングする方法を見つけたいと思います。
c++ - winmainがエラーレベルを設定しないのはなぜですか?
このプログラムがメッセージボックスを正しく表示するのに、エラーレベルを設定しないのはなぜですか?
上記のコードを、a.exeという実行可能ファイルという名前にコンパイルしました。私はコマンドプロンプトでこれを行いました:
exit(90);
返品直前に使用しても同じ結果になります。それはまだ言い0
ます。
また、を介してプログラムを開始しCreateProcess
、で結果を取得しようとしましGetExitCodeProcess
たが、それも返さ0
れます。エラーチェックを行って、すべてが正しく開始されたことを確認しました。
私はもともとこの問題をより複雑なプログラムで見たので、この単純なプログラムを作成して問題を検証しました。結果は同じで、両方のプログラムはWinMain
常にを返し0
ます。
x64、x86、およびユニコードとMBCSのコンパイルオプションの両方を試しました。すべて0
エラーレベル/ステータスコードとして表示されます。
visual-c++ - _WinMainCRTStartup はどのような機能を実行しますか?
これは、少なくとも 2 つの密接に関連しているが異なる質問のシリーズの一部です。別々に尋ねることで、正しいことをしていると思います。
Visual C++ 2008 アプリを C ランタイム ライブラリなしで動作させようとしています。これは、MFC やその他の凝ったものを使用せず、単純な Windows API だけの Win32 GUI アプリです。
そこで、Project Properties -> Configuration -> C/C++ -> Advanced -> Omit Default Library Names を Yes (コンパイラ フラグ/Zl
) に設定し、再ビルドしました。
次に、リンカーは未解決の外部について不平を言い_WinMainCRTStartup
ます。もちろん、リンカに別のエントリ ポイントを使用するように指示することもできますMyStartup
。Web で収集したものから、いくつかの初期化を行います。おそらくそのサブセットを実行し_WinMainCRTStartup
たいと考えています。MyStartup
だから私の質問は次のとおりです。どの機能が_WinMainCRTStartup
実行され、CRT を使用しない場合、これらのどれを省略できますか?
あなたがこのことについて知識があるなら、私の他の質問も見てください。ありがとう!
余談: そもそもなぜこれをやりたいのですか?
- 私のアプリは、CRT 関数を明示的に使用していません。
- 私は無駄のないアプリが好きです。
- 新しいことを教えてくれます。
c# - メッセージ ポンプとは
このスレッド(約 1 年前に投稿) では、非対話型セッションで Word を実行する際に発生する可能性のある問題について議論しています。そこに与えられた(非常に強い)アドバイスは、そうしないことです。ある投稿では、「Office API はすべて、モニター、キーボード、マウス、そして最も重要なメッセージ ポンプを備えた、デスクトップ上の対話型セッションで Office を実行していることを前提としています」と述べられています。私はそれが何であるか分かりません。(私が C# でプログラミングを始めて約 1 年です。他のプログラミング経験は主に ColdFusion でした。)
アップデート:
私のプログラムは、多数の RTF ファイルを処理して、医療レポート番号の作成に使用される 2 つの情報を抽出します。RTF の書式設定手順がどのように機能するかを理解しようとするのではなく、Word でそれらを開いてそこからテキストを引き出すことにしました (実際に GUI を起動する必要はありません)。ときどき、プログラムが 1 つのファイルの処理中に問題を起こし、その文書に添付された Word スレッドを開いたままにしました (その文書をシャットダウンする方法をまだ考えなければなりません)。プログラムを再実行すると、もちろん、そのファイルを使用しているスレッドがあるという通知を受け取りました。読み取り専用のコピーを開きたいですか? 私が「はい」と答えると、Word GUI がどこからともなく突然現れ、ファイルの処理を開始しました。なぜそうなったのか不思議に思っていました。
c++ - メイン関数の「WINAPI」とはどういう意味ですか?
関数WINAPI
内の単語を教えてください。WinMain()
最も簡単な方法で..
Windowsのファンキーモードだけですか?
それは何をするためのものか?というか、まだ出会っていないこの C++ 機能は何ですか?
c++ - WinMainがmainの前に呼び出されない(C / C ++プログラムエントリポイントの問題)
私はこのコードが
WinMainを出力しますが、もちろん、期待どおりに機能するものはありません。
とにかく、誰かがこのプログラムを最初にWinMainを実行する方法を教えてもらえますか(私には両方を使用する理由があります)。それが何か助けになるなら、私はmingwでWindows7を実行しています。
c++ - MFC アプリケーションの WinMain エントリ ポイントを無効にする方法は?
Windows では複数のエントリ ポイントを持つアプリケーションを使用できないことを理解しています。
MFC アプリケーションがあり、それをサービスとして実行するためのコード (main()
エントリ ポイントやその他の必要なもの) を追加しましたが、Windows は常にWinMain()
メインではなく MFC から実行されるようです。
WinMain()
問題は、自分の を実行できるようにするために MFC からを無効にする方法main()
です。
同じアプリケーションをコンソール アプリケーションとして実行する場合、おそらく同じ問題が発生します。
コンソール アプリケーション (WinMain ではなくメイン) としてビルドするには、プロジェクト プロパティで何を変更する必要がありますか?
CWinApp にコメントすることが唯一の解決策ですか?
c++ - MFC WinMainにラッパーを追加するにはどうすればよいですか?
MFCアプリケーションをGUIアプリケーションまたはサービスとして実行できるようにするために、MFCWinMainにラッパーを追加したいと思います。
MFCソースコードを変更せずにMFCからWinMailにラッパーを追加できますか?