• 締切済み

EnableWindow()後のGetLastError()

kmb01の回答

  • kmb01
  • ベストアンサー率45% (63/138)
回答No.1

>エラー番号が取得できません。 >GetLastError()のコール条件に誤りがあるのでしょうか? この部分の意味がよく分かりませんが、GetLastErrorが失敗することはまずないのでエラー番号は正しく取得されているはずです。 EnableWindowの処理が失敗しているように見えるのにGetLastErrorが正常終了を返すなら、引数が間違っていて関係ないWindowをEnableしているということだと思います。

関連するQ&A

  • VC2005で作成したDLLファイルをVC2008で動的リンク(LoadLibrary)する方法

    「VC2005 Standard Edition」で作成したDLLファイルを、 「VC2008 Express Edition」で作成したコンソールアプリケーション から、LoadLibrary("VC2005で作成したDLLファイル")すると 失敗してしまいます。 GetLastErrorでエラーを取得すると、"36B1"が表示されます。 (このエラーは何か調べても見つかりませんでした) 何が原因かご存知の方がいらっしゃいましたら、 ご教授頂けませんでしょうか。

  • CreateProcessのエラー

    Windows8でキーボードを任意に表示しようとしてCreateProcessでTabTip.exeを起動しようとするとエラーが出ます。 GetLastErrorでエラーコードを取得すると740が帰ってきますが、該当するコードがありません。 起動できるようにするために参考になるような情報がございましたらよろしくお願いいたします。 開発環境はVisual Stidio 2012でC++です。 ちなみにVC6ではエラーが出ずに起動できますが、任意に閉じることができません。

  • Win32APIのWriteFile()でRS-232Cポートにデータ

    Win32APIのWriteFile()でRS-232Cポートにデータを送信出来ません。 WriteFile()実行後、GetLastError()でエラーコードを確認したところ、6を返していました。 このエラーは、 6 ERROR_INVALID_HANDLE 6 0x00000006 ハンドルが無効です なので、指定したハンドル番号が無効だからエラーが出るようなのですが、実際にはCreateFile()が返したハンドル番号を指定していますので、なぜこのエラーが出るのか分かりません。 環境は、VMWare 5.5 + Windows 2000 + Visual Basic 6.0 です。 なにかヒントになることがありましたら、どうぞよろしくお願いします。

  • CTabCtrl:TABインデックス単位のEnableWindow(false)について

    TABインデックス単位でEnableWindow(false)を行うとTABに置いたコントールすべてが入力不可(VBでいうとLOCK(TRUE))となりますが非活性になりません。 さらに、TAB自体選択可能です。 VBではTABインデックス単位で非活性・選択不可にできるのですが、VC++では無理なのでしょうか? -環境- ・VC++ 6.0 ・MFC ・ダイアログベース -参考- TC_ITEM item; ::memset(&item, 0, sizeof(TC_ITEM)); item.mask = TCIF_TEXT; item.pszText = "XXX"; m_Tab.InsertItem(0, &item); m_OptionTab1.Create(IDD_OPTION_TAB1, &m_Tab);   ある条件で m_OptionTab1.EnableWindow(false);

  • ウィンドウタイトルの取得方法

    WIN98 MFC vc++6.0 2重起動を防止し、既に起動している時は、ウィンドウを最上位にもってくる以下のコードにて ウィンドウのタイトルを設定しているIDS_WINDOWTITLEはどこで定義し、どうやってタイトルを設定すれば良いのでしょうか? BOOL CMyApp::InitInstance() { 略  // アプリケーションの二重起動防止  ::CreateMutex(NULL, TRUE, m_pszExeName);  if( GetLastError() == ERROR_ALREADY_EXISTS) {   // 既に起動されている場合は、CWnd::FindWindow関数を使って   // 起動されているアプリケーションのウィンドウを取得し、   // そのウィンドウを最上位へ持ってくる   CString str;   str.LoadString(IDS_WINDOWTITLE);   // IDS_WINDOWTITLEにはウィンドウのタイトルを設定している   CWnd* pWnd = CWnd::FindWindow(NULL, str);   if( pWnd )   pWnd->SetForegroundWindow();   return FALSE;  }

  • CreateProcessのコマンド・ライン文字列

    ■開発環境:VisualStudio2005 VC++ CreateProcessの第2引数についての質問なのですが、 第二引数は実行するコマンドライン文字列となりますが、この引数のサイズがある一定のサイズを超えるとCreateProcessの実行でエラーになります。 その場合のGetLastError()の番号は87=ERROR_INVALID_PARAMETERです。 どうも、CreateProcessの第2引数のサイズに上限があるように思います。 どなたこのあたりの情報を持っておられる方いますでしょうか? 以上、ご教授よろしくお願いします。

  • DialogBoxのリソース読み込み

    Win32プログラムを作成しています。 ダイアログボックスを表示させる必要が出てきたので、 DialogBox(GetModuleHandle(NULL), MAKEINTRESOURCE(IDD_FORMVIEW) ,hWnd, DlgProc); と実行したのですが、この関数が失敗し、GetLastError()でエラーを調べたところ"指定されたリソースの種類は、イメージ ファイルに見つかりません。"という内容の1813が返ってきました。 どこが間違い部分なのか見当がつかず、どこの内容を示せばいいのかもわからないので、「何々の部分はどうなっているか」という質問も受けます。 何がまずいのかわかる方、ご教授お願いします。 環境はVC2005Standard, Xp

  • ダイアログを閉じるとメモリー消費が増える

    メインウインドーに例えばA、Bという2個のモーダルダイアログを開くようにしていますが、Aのみで開いたり閉じたりするとメモリー消費が200kバイトづつ毎回増えてしまいます。 しかし、最初にBを一回開いて閉じておけば、その後は何回Aを開いてもメモリーは増えません。 また、メモリーの増えるタイミングはAのダイアログを開いた時ではなく閉じた時点で増えます。 解決策を教えてください。 //子ウィンドー作成 hwDialog_o = CreateWindowEx(0, "CDialog", "", WS_OVERLAPPED| WS_SYSMENU| WS_CAPTION| WS_BORDER| WS_VISIBLE| WS_CLIPCHILDREN| WS_EX_TOPMOST,//WS_CLIPCHILDRENでチラツキ防止 i, j, 660, 180, NULL, NULL, h_Inst, NULL); ShowWindow(hwDialog_o, nWinMode); UpdateWindow(hwDialog_o); // メインウインドウを無効化してモーダルに EnableWindow(hwnd,FALSE); ・ ・   色々と処理 ・ // メインウインドウを有効にしてモーダル解除 EnableWindow(hwnd,TRUE); BringWindowToTop(hwnd); return;

  • APのインストール時に常にエラーがでる

    Windows2000を使用しています。 アプリケーションをインストールすると、常にエラーがでて困っています。 exeになっているインストーラをダブルクリックで起動すると、下記のようなエラーダイアログが表示されます。 「SYSTEM\CurrentControlSet\Control\VirtualDeviceDrivers. VDD. レジストリの仮想デバイス ドライバの形式が無効です。 アプリケーションを終了するには、[閉じる] を選んでください。   [閉じる][無視] 」 ここで[無視]を選ぶと、インストールが再開され、その後は問題なく完了します。 インストールしたアプリケーションは問題なく動いているので実害はないのですが、なんとなく後味が悪くて。。 このエラーダイアログが出ないようにする方法はないのでしょうか?

  • ASP.NET2.0んの動作不良

    環境 Windows2003(IIS6)    ASP.NETバージョン 2.0.507.727 上記環境でaspxにアクセスすると「サーバーアプリケーションは使用できません」と表示されます。 またIISのプロパティよりASP.NETを開き、構成の編集ボタンを押すと「構成の読み取り中にエラーが発生しました。指定されたエンコードに無効な文字があります。…」とエラーダイアログが開きます。 同画面に載っているファイルの場所に誤りはないようです。 ちなみに別のサーバ上ではエラー無く動いています。 よってプログラムの問題でなく、環境の問題かと思っているのですが、同じような現象に遭遇した等アドバイスがございましたらいただけませんでしょうか? よろしくお願いします。