私はここで問題を抱えています。問題はhService
、0
私は Windows フォーム アプリケーションを持っているか、作成しています。
HSERVICE hService=0;
BOOL fSuccess=EXIT_SUCCESS;
if(Wfs_Startup())
{
// This returns a successful startup even if I write something here
// to be displayed by a textbox it does. That means the Startup is ok.
if(Wfs_Open(&hService))
{
// What ever I put here doesn't show on a textbox and the application jumps to
// the exception of this block which means there's a problem here, at first I
// thought it was because of no corresponding logical name on a registry but what
// I found out was that if I check below the Startup block and check the hService
// it's 0 so it doesn't receive the correct data from the startup.
}
}
だから私はそれを「私は言う」から次のように書かれた関数を取り出しました:
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdDLine,
int nShowCmd)
{
//THE CODE BLOCK IS THE SAME AS THE ABOVE THAT GOES HERE.
}
だから私は内側のコードブロックを取りましたFormLoad
が、これは私に上記の問題を与えています.FormLoad
と の両方を持つことができWinMain
ますか? を持とうとしたのWinMain
ですが、エラーがあったので、メインが 2 つというようなことはできないと言ったと思います。また、試したときに引数を含める必要があったため、どのように呼び出すことができますかWinMain
。主な問題は、引数を a に追加できないことです。FormLoad
FormLoad
この問題を解決するにはどうすればよいですか?
申し訳ありませんが、これを説明する簡単な方法がわかりません。ただし、hService が 0 を返すという問題に注意してください。
この質問を単純化するだけです。
先頭が HRESULT で始まるこのタイプの関数を呼び出す方法は、上記を確認してください。私が欲しいのはその関数を起動することです.FormLoadでそれを呼び出すことについて別の質問がありますが、最初にその種類の関数を呼び出す/起動する方法を知りたいのですが、これは簡単になると思いますか?
問題は、IDE が、Windows フォームで int WinMain を使用できないと言うことです。これは、既にそのようなものがあるためですが、コマンドを使用しているときに動作します。WinMain と Main を使用できますが、WinMain と FormLoad を内部ではなく、プロジェクトまたはページ内に配置することはできません。理解するには、Windows フォーム アプリを作成し、int WinMain コードを入力してみてください。ここで何が問題なのかがわかります。