問題タブ [nsdialogs]
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.
nsis - nsis のフォルダ ダイアログを選択
nsis インストーラーに使用しているスキンに問題があります。フォルダ ダイアログを選択するためにスキンを適用しないように制御する方法はありますか。このスキンを適用するには、Skincrafter プラグインを使用しています。通常、初期化後にロードすると、すべてのページ/内部ダイアログと子ダイアログに適用されます。フォルダの参照ダイアログにスキンを付けたくありません。誰か提案をお願いできますか?
nsis - nsis - 「次へ」ボタンをデフォルトのボタンに設定する方法
2 つのカスタム ページがあります。
最初のカスタム ページでは、デフォルト ボタン ( でトリガーされる<Enter>
) はNext
ボタンです。
2 番目のカスタム ページでは、デフォルト ボタンを別のボタンに設定します。
しかし、クリックBack
して最初のカスタム ページに戻ると、そこにあるデフォルトのボタンがなくなりますNext
(つまり<Enter>
、トリガーしなくなりますNext
)。
最初のカスタム ページのデフォルト ボタンをボタンに戻すにはどうすればよいNext
ですか?
次のことを試しましたが、うまくいきません。
編集:
コードとファイルの構造は実際には複雑ですが、単純化しようとします。
Dialog1.nsh
Dialog2.nsh
nsis - NSIS による条件付きインストール
関連するソフトウェアが既にインストールされている場合、修復/アンインストール プログラムとしても機能するインストーラーを作成する必要があります。
プログラムが存在するかどうかを確認し、それに応じてボタンを表示するカスタム ページを作成することができました (レジストリ キーの作成はテスト目的のみであり、インストール プロセスに含める必要があります)。
たとえば、プログラムがインストールされていない場合は、[インストール] ボタンが表示されます。
これを行うコードは次のとおりです。
問題は、それがすべて関数によって管理されており、それらの中で新しいページ マクロを宣言できないことです。そのため、セクションを介して適切なインストールを続行できません。
通常のインストールのようにユーザーフレンドリーなページを作成できるようにするには、インストーラーが実行するさまざまなアクションをどのように管理すればよいですか?
少し面倒で複雑に聞こえるので、すべてのアクションにカスタム ページを使用する必要がありますか?
nsis - nsDialogs::Show は、UI からのすべてのボタンが破棄された場合でも、ENTER キーを受け入れます
インストールを構成するページと、ペイロードのダウンロードとインストールの進行状況バーを表示するページの 2 つのページを含む、カスタム UI を備えた小さなブートストラップがあります。私の問題: 2 番目のページでユーザーが Enter キーを押すと、インストールが完了していなくてもインストーラーが終了します。
UI からできるすべてのコントロールを次のように削除しました。
onGuiInit 関数で、最初のページは Enter キーとスペース キーを無視するようになりましたが、2 ページ目は Enter キーで終了します。そのページには、いくつかのラベル、プログレスバー、およびスライドショー (nsisSlideshow プラグイン) を除いて、他のコンポーネントはありません。バックグラウンドで、ペイロードをダウンロードしてインストールするスレッドがあります。
ページは次のように宣言されます。
つまり、簡単に言うと、Enter キーを押すと、nsDialogs::Show 関数が返され、インストーラーが強制終了されます。
これを止める方法はありますか?
installation - OnChange ハンドラーを既存のテキスト ボックス コントロール NSIS にアタッチします。
NSIS の既存のインストール ディレクトリ テキスト ボックスに onchange イベント ハンドラを接続しようとしています。ただし、トリガーされることはないようです。どうすればこれを行うことができますか?
リソース ハッカーを使用してコントロール ID を取得し、MUI_PAGE_DIRECTORY を表示する前に上記のコードを MUI_PAGE_CUSTOMFUNCTION_SHOW に追加しました。
既存のコントロールで関数をトリガーするための助けをいただければ幸いです。
ありがとう
accessibility - nsDialogs でのキーボード ナビゲーションの処理
nsDialogs を使用して、アプリのインストーラーにカスタム ページを作成しています。このページで、ユーザーは標準インストールとポータブル インストールのどちらかを選択できます。
このNSD_CreateRadioButton
ために、ユーザーが 2 つのインストール モードのどちらかを選択できるように、2 つのラジオ ボタン コントロールを作成します。
目の不自由なユーザーからのフィードバックを受けて、これら 2 つのラジオ ボタンの間をキーボードでナビゲートできるようにしたいと考えています。これまでのところ、Tabキーを押すと、 ではなく、下部ナビゲーション バーの次のボタンに直接移動します。Arrow up/Arrow down効果なし。
nsDialogs を使用してキーボード ナビゲーションにこの可能性を追加するにはどうすればよいですか?
installation - ${NSD_GetText} は Empty.string を返します - 行き詰まりました
設定用のカスタムフォームを使用してインストールを作成しようとしています:
configform.nsdInc:
...... FileWrite $5 "ru-RU" FileClose $5 FunctionEnd
メインの .nsi スクリプト:
......... SectionEnd
問題は、 ${NSD_GetText} の問題を完全に把握できないことです。これは、空の文字列を返すためです。そして、私は立ち往生しています!