feat(branding): add 3D shield logo, embed Windows PE icon, and update README banner
Sanctum Release / Build & Release (Windows x86_64) (push) Canceled after 0s
Sanctum Release / Build & Release (Windows x86_64) (push) Canceled after 0s
This commit is contained in:
+9
-1
@@ -172,9 +172,17 @@ pub fn unregister_explorer_integration() -> Result<()> {
|
||||
pub fn get_default_system_icon() -> Option<tray_item::IconSource> {
|
||||
extern "system" {
|
||||
fn LoadIconW(instance: isize, icon_name: *const u16) -> isize;
|
||||
fn GetModuleHandleW(module_name: *const u16) -> isize;
|
||||
}
|
||||
|
||||
// IDI_SHIELD = 32518, IDI_APPLICATION = 32512
|
||||
// 1. Eingebettetes Anwendungs-Icon (Ressource ID 1) aus eigenem Modul laden
|
||||
let h_instance = unsafe { GetModuleHandleW(std::ptr::null()) };
|
||||
let app_icon = unsafe { LoadIconW(h_instance, 1 as *const u16) };
|
||||
if app_icon != 0 {
|
||||
return Some(tray_item::IconSource::RawIcon(app_icon));
|
||||
}
|
||||
|
||||
// 2. Fallback: Windows IDI_SHIELD = 32518, IDI_APPLICATION = 32512
|
||||
let icon = unsafe { LoadIconW(0, 32518 as *const u16) };
|
||||
if icon != 0 {
|
||||
Some(tray_item::IconSource::RawIcon(icon))
|
||||
|
||||
Reference in New Issue
Block a user