問題タブ [showwindow]
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.
cocoa - 10.5 で NSWindowController の showWindow を 2 回呼び出さなければならないのはなぜですか?
ペン先からウィンドウをロードして画面に表示するために使用している NSWindowController のサブクラスがあります。以下は、ウィンドウを表示したいときに呼び出されるコードです。10.6 では showCustomWindow が呼び出されるとウィンドウが表示されますが、10.5 ではウィンドウを表示するためにこのメソッドを 2 回呼び出す必要があります。
ウィンドウには「起動時に表示」がチェックされており、チェックを外しても違いはないようです。
編集:私が抱えていた問題は、NSWindowController または showWindow に関連していないことに気付きました。私はそれを正しく設定しました。ただし、すべてのクラスがawakeFromNibを実装しているわけではないことがわかりました。私のNSViewサブクラスの1つ(ロードしようとしていたペン先にありました)で、[super awakeFromNib]を呼び出していましたが、「セレクターに応答しません」というメッセージが表示されました(ただし、10.5でのみ奇妙です)。したがって、[super awakeFromNib] を取り出すこともできましたが、できればより堅牢なものを選択しました。
これにより、ペン先が正常にロードされ、showWindow が適切に動作するようになりました。
.net - C# アプリから他のウィンドウを制御する
複数のアプリケーション (WMP、Google Earth など) の制御を集約する C# アプリケーションを作成しています。私が自分で書いていないアプリの場合、プロセスとして起動しているので、それらのハンドルがあります (handle = Process.Start("C:\whatever.exe"); がコードだと思います)。
スムーズに動作させるには、Process.Start() で起動したウィンドウを含め、各ウィンドウの最小化/最大化状態を制御できる必要があります。これを行うと主張するいくつかのメソッドを見てきましたが、通常は user32.dll のインポートと ShowWindow(handle, state) の適用が必要です。
2つ質問します。これはこれを行うための最良の方法ですか?私は .NET/Windows プログラミングが初めてです (*nix 出身)。さらに、私はそれを機能させることができなかったので、初心者を捕まえる癖はありますか?
(参考: Windows 7 RTM 上の VS 2008)
.net - SysTray からアプリケーションを復元する方法は? Handle=0 であるため、ShowWindow は役に立ちません。
SysTray に最小化されたサード パーティ製アプリケーションを復元することはできますか?
タスクバーに最小化されたアプリで ShowWindow を呼び出すことは問題ありませんが、アプリが SysTray に最小化されている場合、ハンドルがゼロに設定されているように見え、もちろん ShowWindow はそれを見つけることができません。
mfc - 最大化されたウィンドウが全画面表示に戻る
を使用CWnd::ShowWindow(SW_SHOWMAXIMIZED)
すると、期待どおりにアプリ ウィンドウが最大化されます。
ただし、アプリの復元ボタンをクリックする (またはタイトル バーをダブルクリックする) と、復元されたサイズは最大化されたウィンドウと同じサイズになり、ユーザーを混乱させます。
この代替コードを使用すると、同じ問題があります。
復元時にデフォルトの最大化されていないサイズを維持するにはどうすればよいですか。
c# - ShowWindowSW_MINIMIZEはプログラムを復元できません
バックグラウンドで起動したいプログラムがあり、後で表示したいときに、ショートカットリンクまたは実行可能ファイルをクリックして、アプリケーションを起動させることができます。これはWindowsMobileエミュレーターで機能するようになりましたが、実際にデバイスで試してみると、アプリは最小化されますが、組み込みのタスクマネージャープログラムに移動して[切り替え]をクリックしない限り、元に戻すことはできません。エミュレーターとデバイスの両方がWM6.1.4を実行しています。スマート最小化に最小化コントロールボックス(「X」)を使用してもアプリは最小化されますが、.exeファイルをクリックしてもアプリを元に戻すことができません。
何かご意見は?助けに感謝します!
編集:わかりました、それで私はおそらくいくつかの重要な情報を省略しました。これはマルチスレッドプログラムです。スレッドを開始せず、メインUIスレッドを実行させるだけの場合、プログラムは最小化して正常に復元します。実行する必要のあるバックグラウンドスレッドを開始するとすぐに、プログラムは最小化されますが、復元されません。この場合、SW_MINIMIZE以外のものを使用する必要がありますか?
プログラムを最小化する私のコードは次のとおりです。
apache-flex - Flexアプリケーションの複数のtitleWindow
私は、アナリストプログラマーのポジションに異動したGISアナリストです。プログラミングのバックグラウンドがあまりないので、これは私にとって難しい移行でしたが、私はそれに夢中になりました。
jspページ内のFlexアプリに取り組んでいます。基本的に、画像とテキストを含む3x2のグリッドです。私がやろうとしているのは、このページに複数のtitleWindow参照があるため、画像をクリックするとtitleWindowが開きます。(誰かがより良いアイデアを持っている場合、特にそれがホバーに関係している場合、私はそれに対して非常にオープンです!)現在私はそれを1つの画像に対して機能させています。ただし、2番目の関数を追加しようとすると、エラーが発生します。「エラー1021:関数定義が重複しています」以下は、titleWindowを呼び出すメインページのコード全体です。以下のコードは、エラー1021を与えるものです。
以下はtitleWindowコードです。このコードはこれまでのところ機能します!
質問:複数のtitleWindow(最大6つ)を追加できるようにするには、上記でどのコードを変更する必要がありますか、または「ウィンドウ」またはツールチップを開くためのホバーにどのコードを使用できますか?
誰かが何かアイデアを持っているか、私に指示を与えることができれば、それは素晴らしいことです。それは有り難いです!
c - WinAPIでコンソールウィンドウを非表示にする方法は?
この単純なWinAPIコードでCアプリケーションを起動するときに、コンソール ウィンドウを非表示にしようとしています。
アンチウイルスがアクティブ化されていない場合はすべて正常に動作しますが、Kasperskyが実行されてシステムを監視している場合、上記のコードを実行できません。これhWnd == 0
は true であり、GetLastError()
= 183 エラー(「そのファイルが既に存在する場合、ファイルを作成できません。」)のためです。起動しました!
質問: どうすればよいですか? 必要なのは、そのコンソール ウィンドウを非表示にすることだけです。
この件で私を助けてください。
まことにありがとうございます!
PS。Visual Studio 2010 (Visual C++) の使用
windows - Windows でコントロールを非表示にする
子ウィンドウ (コントロール)、具体的には GroupBox と PushButton を非表示にする方法がわかりません。2 番目のパラメーターとしてSW_HIDEを指定したShowWindow()が機能すると考えましたが、単に機能しません。それでもSW_SHOWは問題なく動作します。両方のコントロールに正しいウィンドウ ハンドルがあるので、それは問題ではありません。
私がグーグルで検索したところ、コントロールではなくダイアログを非表示にする方法を尋ねている人しか見つかりませんでした。それか、ここでは適用されない MFC ベースのアプリケーションのいずれかです。私は純粋な Windows API を使用しており、 MFC は使用していません。
私は何を間違えていますか?
EDIT : 詳細情報: WinApi コントロール用の単純なクラス ラッパーを作成しています。WindowsControl クラスには、他のメソッドとともに、コントロールを表示および非表示にする次のメソッドがあります。
すべてのコントロールは WindowsControl から継承します。
この画像にはウィンドウのレイアウトが含まれているため、私が何をしているのか正確に理解できます: http://i.stack.imgur.com/PHQnH.png
ユーザーが「チップセット」静的コントロール内をクリックすると、特定のタイルの情報が読み込まれます (これは配列に格納されていますが、それは関係ありません)。設定に応じて、左側の [ビットウォールの編集] ボタンが非表示になり、その後ろに空の GroupBox が表示されます。明確にするために、これは私の Windows API ラッパーに問題があるわけではなく、正しい HWND を取得しています。ただし、ShowWindow は、親ではないウィンドウ プロシージャから呼び出すことはできない場合があります (これは奇妙です)。
EDIT2 : Visual Studio 2008 で C++ を使用、MFC なし、WTL なし、CLR なし、.NET なし
EDIT3:簡単になるように、さらに多くのコードを投稿します
static のウィンドウ プロシージャ内で、次のように WN_LBUTTONDOWN を処理します。
前に述べたように、省略されたコードはクラスに影響を与えません。正しい HWND を使用して、SW_HIDE を指定した ShowWindow が呼び出されますが、何も起こりません。
c++ - CDialogShowWindowの問題
SDIアプリケーションがあります。アプリケーションには、作業中のサーバーとの通信などのメッセージを表示するために使用されるモードレスダイアログがあります。問題は、ダイアログの親ウィンドウがメインフレームに設定されている場合、ShowWindowメソッドが期待どおりに機能しないことです。ダイアログはメインフレームで覆われているようです。ShowWindow呼び出しの横にSleep呼び出しを置くと、ダイアログが表示されます。そして、スリープが終了すると、ダイアログが消えます。ダイアログの親を設定しない場合、ShowWindow呼び出しは正常に機能します。ただし、ダイアログの親ウィンドウを設定したいのですが。それで、それをどのように解決するのですか?
.net - .Net コードで ShowWindow イベントをキャプチャする
.NET フォームで ShowWindow API 呼び出しをキャプチャする方法を知っている人はいますか?
2 番目のアプリですべての .NET フォームを最小化するために、ShowWindow を呼び出す外部 VB6 プログラムがあります。メッセージを無視するかどうかを決定できるように、何らかのイベント ハンドラーを追加して、.NET フォームがメッセージを受信したことを認識できるようにしたいと考えています。基本的な問題は、.NET でモーダルの子ウィンドウを開いているときに、ShowWindow API が呼び出されて親と子のフォームを最小化すると、モーダルの子ウィンドウが閉じてしまうことです。これは悪いです。
通常の .NET フォーム イベント処理 (Resize、FormClosing など) を使用するのは遅すぎます。そこで処理を行っても、思ったよりもモーダル ウィンドウが閉じるのを止められません。