GetDesktopWindow() を使用して Windows デスクトップにペイントしようとしました。しかし、デスクトップが急速に再描画され、ペイントが表示されないため、失敗しました。したがって、GetDesktopWindow() で取得したデスクトップ ウィンドウを ownerdraw アプリケーション ウィンドウに置き換える必要があります。
前もって感謝します, ミラン
GetDesktopWindow() を使用して Windows デスクトップにペイントしようとしました。しかし、デスクトップが急速に再描画され、ペイントが表示されないため、失敗しました。したがって、GetDesktopWindow() で取得したデスクトップ ウィンドウを ownerdraw アプリケーション ウィンドウに置き換える必要があります。
前もって感謝します, ミラン
レジストリのデフォルトのシェルを独自のアプリケーションに変更できます。
レジストリでexplorer.exeをcmd.exeに置き換えてみたところ、うまくいきました。マシンを再起動すると、コマンドプロンプトしか表示されませんでした。
これは不可能だと思います。デスクトップを操作する「デスクトップのおもちゃ」を書いたときに私がしたことは、スクリーンショットを撮り、デスクトップと同じ大きさのウィンドウを作成し、そのスクリーンショットをアプリケーションウィンドウの背面に配置することでした。これにより、スタートメニューやデスクトップアイコンなどが機能しなくなりましたが、私の目的には問題ありませんでした。何をしようとしているのかわかりません。
GetDesktopWindow()から取得したウィンドウをサブクラス化することを試みることができます... Windowsにはこの種の悪ふざけに対する保護手段があるのに、どういうわけか私は疑いを持っています。
私は Windows デスクトップでいくつかの悩みを抱えており、私が評価している代替手段の 1 つは Windows KDE です ...
これは、(通常は) Linux Qt ベースの KDE ウィンドウ システムの Windows バージョンです。
インストール情報にWindowsのシェル(デスクトップ)を差し替える方法を説明しています。私の場合、安全にプレイしています。古いアカウントを保持しています (簡単に言うと、管理者としてログインしているときにアカウント情報を「自分のコピー」フォルダーにコピーするだけです)。
また、評価用の別のユーザーとして KDE を使用しています。
質問への回答として、情報があります。インストール ドキュメントとコード ベースで、質問の 96% をカバーします。残りを私たちのほとんどと共有してください:-)
\_w_/
デスクトップ ウィンドウを置き換えることはできません。しかし、好きなように描くことができます。
ペイントしたいものをビットマップに入れ、SystemParametersInfoを使用してそれをデスクトップの背景ビットマップとして選択するだけです。 SPI_SETDESKTOPWALLPAPER