08-20-2023, 04:07 AM
// script ""
//.
using System.Windows.Controls;
using System.Windows;
using Au.Triggers;
using System.Windows.Media;
script.setup(trayIcon: true, sleepExit: true);
//..
// build window
var b = new wpfBuilder("Window Handle Test");
var w = b.Window;
b.Brush(Brushes.Moccasin);
b.WinProperties(topmost: true);
b.R.Add(out TextBox t1, "Text").Size(150, 150).Focus();
b.R.AddButton("Change TextBox Text to HWND", _ => {
t1.Text += Environment.NewLine + (nint)w.Hwnd();
});
b.End();
//.
b.Loaded += () => {
var h = w.Hwnd();
t1.Text = h.Handle.ToString();
};
//..
// set triggers
ActionTriggers Triggers = new();
Triggers.Options.ThreadThis();
var hk = Triggers.Hotkey;
hk["Ctrl+Shift+K"] = o => {
var h = w.Hwnd();
h.ShowNotMinimized();
print.it($"{o} was pressed.");
};
hk.Last.EnabledAlways = true;
hk["Ctrl+Shift+L"] = o => {
var h = w.Hwnd();
h.ShowMinimized();
print.it($"{o} was pressed.");
};
w.Closed += (_, _) => { Triggers.Stop(); };
//show window and run triggers. Two good ways.
#if !true
w.Show();
Triggers.RunThread();
#else
run.thread(() => { Triggers.Run(); });
b.ShowDialog();
#endif