added vscode extensions
This commit is contained in:
parent
7cde0829be
commit
26e2a50441
316 changed files with 37301 additions and 0 deletions
98
.vscode/extensions/s-nlf-fh.glassit-0.2.3/SetTransparency.cs
vendored
Normal file
98
.vscode/extensions/s-nlf-fh.glassit-0.2.3/SetTransparency.cs
vendored
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Diagnostics;
|
||||
|
||||
using Windows;
|
||||
|
||||
namespace GlassIt
|
||||
{
|
||||
public static class SetTransParency
|
||||
{
|
||||
public static bool SetTransparency(int pid, byte alpha)
|
||||
{
|
||||
Process mainproc = Process.GetProcessById(pid);
|
||||
foreach (Process proc in Process.GetProcessesByName(mainproc.ProcessName))
|
||||
{
|
||||
if (proc.StartInfo.FileName != mainproc.StartInfo.FileName)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
IntPtr hMainWnd = proc.MainWindowHandle;
|
||||
if (hMainWnd == IntPtr.Zero)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
uint tid = User32.GetWindowThreadProcessId(hMainWnd, out pid);
|
||||
bool result = User32.EnumThreadWindows(tid, delegate(IntPtr hWnd, IntPtr lParam) {
|
||||
if (!User32.IsWindowVisible(hWnd))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
WS windowLong = User32.GetWindowLong(hWnd, GWL.EXSTYLE);
|
||||
User32.SetWindowLong(hWnd, GWL.EXSTYLE, windowLong | WS.EX_LAYERED);
|
||||
return User32.SetLayeredWindowAttributes(hWnd, 0, alpha, LWA.ALPHA);
|
||||
}, IntPtr.Zero);
|
||||
|
||||
if (!result)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
namespace Windows
|
||||
{
|
||||
internal static class User32
|
||||
{
|
||||
public delegate bool EnumWindowsProc(IntPtr hWnd, IntPtr lParam);
|
||||
|
||||
[DllImport("user32.dll")]
|
||||
public static extern bool EnumThreadWindows(uint dwThreadId, EnumWindowsProc lpEnumFunc, IntPtr lParam);
|
||||
|
||||
[DllImport("user32.dll")]
|
||||
public static extern uint GetWindowThreadProcessId(IntPtr hWnd, out int lpdwProcessId);
|
||||
|
||||
[DllImport("user32.dll")]
|
||||
public static extern bool IsWindowVisible(IntPtr hWnd);
|
||||
|
||||
[DllImport("user32.dll")]
|
||||
public static extern WS GetWindowLong(IntPtr hWnd, GWL nIndex);
|
||||
|
||||
[DllImport("user32.dll")]
|
||||
public static extern int SetWindowLong(IntPtr hWnd, GWL nIndex, WS dwNewLong);
|
||||
|
||||
[DllImport("user32.dll")]
|
||||
public static extern bool SetLayeredWindowAttributes(IntPtr hWnd, uint crKey, byte bAlpha, LWA dwFlags);
|
||||
}
|
||||
|
||||
internal enum GWL: int
|
||||
{
|
||||
EXSTYLE = -20,
|
||||
HINSTANCE = -6,
|
||||
HWNDPARENT = -8,
|
||||
ID = -12,
|
||||
STYLE = -16,
|
||||
USERDATA = -21,
|
||||
WNDPROC = -4,
|
||||
}
|
||||
|
||||
[Flags]
|
||||
internal enum WS: int
|
||||
{
|
||||
EX_LAYERED = 0x80000,
|
||||
}
|
||||
|
||||
internal enum LWA: int
|
||||
{
|
||||
COLORKEY = 1,
|
||||
ALPHA = 2,
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue