私は、ユーザーがアプリケーションのテキストボックスに値を入力して[OK]をクリックするまで、すべてのプログラムをロックまたはフリーズするためにC#でアプリケーションを作成しています。他のすべてのアプリケーションをロック/フリーズし、閉じられないWinFormsアプリケーションを作成するにはどうすればよいですか?
アプリの目的は、時間を入力することです。私の知る限り、あなたが最もトップにそれを設定することができますが、彼らはそうはい、それはですすべてのヘルプは
私は、ユーザーがアプリケーションのテキストボックスに値を入力して[OK]をクリックするまで、すべてのプログラムをロックまたはフリーズするためにC#でアプリケーションを作成しています。他のすべてのアプリケーションをロック/フリーズし、閉じられないWinFormsアプリケーションを作成するにはどうすればよいですか?
アプリの目的は、時間を入力することです。私の知る限り、あなたが最もトップにそれを設定することができますが、彼らはそうはい、それはですすべてのヘルプは
をいただければ幸いです。..ここ
formName.TopMost = true;
を立ち往生していますタスクマネージャーでアプリを終了することができます知っているよう
正しい。 Windowsオペレーティングシステムでは、複数のプログラムを一度に実行できます。あなたが経験していることは、まったく設計によるものです。
私が正しく覚えている場合、TopMost
プロパティはプロセス内のウィンドウにのみ適用され、言及しているとおり、それはまったく無関係です。ユーザーはタスクマネージャを使用してアプリケーションを強制終了できます。
これを回避する正当な方法はありません。これは「制限」ではなく、機能です。タスクマネージャーによって閉鎖されないようにするアプリケーションは、マルウェアと呼ばれるソフトウェアのカテゴリでは緊急に踏み込んでいます。このような追求から何も良いものは出せない。
関連読書:The arms race between programs and users
おそらく良い妥協案は、ユーザーが、彼らは試してみて、近くにはなりません知っているように、実際に最上位のあなたのウィンドウ/フォームを作成し、[閉じる]ボタンを無効にすることですそれ。これは、ほとんどの場合、必要な手段でアプリケーションを終了することを決定していないユーザーを停止するのに十分です。これは、これまでに気に留めていただけのことです。
は、あなたのウィンドウ/フォームが常にWS_EX_TOPMOST
フラグを設定するか、HWND_TOPMOST
を切り替えることにより、他の実行中のアプリケーションの上に表示させる方法については、サンプルコードhereを参照してください。
また、CS_NOCLOSE
クラススタイルを設定することで、閉じるボタンを無効にする方法についての詳細な回答hereも書いてあります。
これを実行しようとしているOSは何ですか?いつ実行する必要がありますか? – ChrisBD
これはかなり古代の話題です。他のすべてのプログラムをフリーズするには、他のプログラムが同じことをしたい場合はどうすればいいですか?そのようなことをすべてブロックすることは、一般的に非常に悪いことです。ユーザーは、ユーザーが非常に重要で時間に敏感な何かをしていないと言いますか?あなたのアプリがハングする/クラッシュする場合はどうなりますか?システムは使用できません。 –
それはwindoes 7 osで使用されるつもりです...まあ私は彼らが何をしているかどうか気にしないか、または彼らが何かを埋めるように気にしているすべての気にPCをフリーズする場合 – James