样式优化 bug修改 鼠标中键呼出
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
using GeekDesk.ViewModel;
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Runtime.Serialization.Formatters.Binary;
|
||||
using System.Windows;
|
||||
|
||||
@@ -52,7 +53,46 @@ namespace GeekDesk.Util
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 判断当前屏幕(鼠标最后活动屏幕)是否有全屏化应用
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static bool IsPrimaryFullScreen()
|
||||
{
|
||||
RECT rect = new RECT();
|
||||
GetWindowRect(new HandleRef(null, GetForegroundWindow()), ref rect);
|
||||
|
||||
int windowHeight = rect.bottom - rect.top;
|
||||
int screenHeight = (int)SystemParameters.PrimaryScreenHeight;
|
||||
|
||||
if (windowHeight >= screenHeight)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
private struct RECT
|
||||
{
|
||||
public int left;
|
||||
public int top;
|
||||
public int right;
|
||||
public int bottom;
|
||||
}
|
||||
|
||||
[DllImport("user32.dll")]
|
||||
private static extern bool GetWindowRect(HandleRef hWnd, [In, Out] ref RECT rect);
|
||||
|
||||
[DllImport("user32.dll")]
|
||||
private static extern IntPtr GetForegroundWindow();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Windows.Media.Imaging;
|
||||
@@ -65,7 +66,15 @@ namespace GeekDesk.Util
|
||||
|
||||
Bitmap bmp = ico.ToBitmap();
|
||||
MemoryStream strm = new MemoryStream();
|
||||
bmp.Save(strm, System.Drawing.Imaging.ImageFormat.Png);
|
||||
|
||||
ImageCodecInfo myImageCodecInfo = GetEncoderInfo("image/png");
|
||||
Encoder myEncoder = Encoder.Quality;
|
||||
EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, 75L);
|
||||
EncoderParameters myEncoderParameters = new EncoderParameters(1);
|
||||
myEncoderParameters.Param[0] = myEncoderParameter;
|
||||
|
||||
bmp.Save(strm, myImageCodecInfo, myEncoderParameters);
|
||||
bmp.Save("d:\\test.png", myImageCodecInfo, myEncoderParameters);
|
||||
BitmapImage bmpImage = new BitmapImage();
|
||||
bmpImage.BeginInit();
|
||||
strm.Seek(0, SeekOrigin.Begin);
|
||||
@@ -78,7 +87,20 @@ namespace GeekDesk.Util
|
||||
return bmpImage.Clone();
|
||||
}
|
||||
|
||||
|
||||
private static ImageCodecInfo GetEncoderInfo(String mimeType)
|
||||
{
|
||||
int j;
|
||||
ImageCodecInfo[] encoders;
|
||||
encoders = ImageCodecInfo.GetImageEncoders();
|
||||
for (j = 0; j < encoders.Length; ++j)
|
||||
{
|
||||
if (encoders[j].MimeType == mimeType)
|
||||
return encoders[j];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static int GetIconIndex(string pszFile)
|
||||
{
|
||||
|
||||
@@ -23,7 +23,9 @@ namespace GeekDesk.Util
|
||||
}
|
||||
return shortcut.TargetPath;
|
||||
}
|
||||
#pragma warning disable CS0168 // 声明了变量“e”,但从未使用过
|
||||
catch (Exception e)
|
||||
#pragma warning restore CS0168 // 声明了变量“e”,但从未使用过
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Windows;
|
||||
using System.Windows.Forms;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Interop;
|
||||
|
||||
namespace GeekDesk.Util
|
||||
{
|
||||
@@ -50,10 +48,17 @@ namespace GeekDesk.Util
|
||||
|
||||
public static void Dispose(int id)
|
||||
{
|
||||
bool test = UnregisterHotKey(handleTemp[id].Handle, id);
|
||||
GlobalHotKey.handleTemp[id].Dispose();
|
||||
GlobalHotKey.handleTemp.Remove(id);
|
||||
Console.WriteLine(test);
|
||||
try
|
||||
{
|
||||
UnregisterHotKey(handleTemp[id].Handle, id);
|
||||
GlobalHotKey.handleTemp[id].Dispose();
|
||||
GlobalHotKey.handleTemp.Remove(id);
|
||||
} catch
|
||||
{
|
||||
//nothing
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Registers a hot key with Windows.
|
||||
|
||||
@@ -31,7 +31,9 @@ namespace GeekDesk.Util
|
||||
|
||||
private double showMarginWidth = 1;
|
||||
|
||||
#pragma warning disable CS0414 // 字段“MarginHide.isHide”已被赋值,但从未使用过它的值
|
||||
private bool isHide;
|
||||
#pragma warning restore CS0414 // 字段“MarginHide.isHide”已被赋值,但从未使用过它的值
|
||||
|
||||
public Timer timer;
|
||||
//构造函数,传入将要匹配的窗体
|
||||
|
||||
@@ -48,7 +48,9 @@ namespace GeekDesk.Util
|
||||
key.Close();
|
||||
|
||||
}
|
||||
#pragma warning disable CS0168 // 声明了变量“ex”,但从未使用过
|
||||
catch (Exception ex)
|
||||
#pragma warning restore CS0168 // 声明了变量“ex”,但从未使用过
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@@ -60,14 +62,18 @@ namespace GeekDesk.Util
|
||||
key.DeleteValue(exeName);//取消开机启动
|
||||
key.Close();
|
||||
}
|
||||
#pragma warning disable CS0168 // 声明了变量“ex”,但从未使用过
|
||||
catch (Exception ex)
|
||||
#pragma warning restore CS0168 // 声明了变量“ex”,但从未使用过
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
#pragma warning disable CS0168 // 声明了变量“ex”,但从未使用过
|
||||
catch (Exception ex)
|
||||
#pragma warning restore CS0168 // 声明了变量“ex”,但从未使用过
|
||||
{
|
||||
if (key != null)
|
||||
{
|
||||
|
||||
@@ -1509,7 +1509,9 @@ namespace GeekDesk.Util
|
||||
m_hookType,
|
||||
m_filterFunc,
|
||||
IntPtr.Zero,
|
||||
#pragma warning disable CS0618 // <20><>AppDomain.GetCurrentThreadId()<29><><EFBFBD>ѹ<EFBFBD>ʱ:<3A><>AppDomain.GetCurrentThreadId has been deprecated because it does not provide a stable Id when managed threads are running on fibers (aka lightweight threads). To get a stable identifier for a managed thread, use the ManagedThreadId property on Thread. http://go.microsoft.com/fwlink/?linkid=14202<30><32>
|
||||
(int)AppDomain.GetCurrentThreadId());
|
||||
#pragma warning restore CS0618 // <20><>AppDomain.GetCurrentThreadId()<29><><EFBFBD>ѹ<EFBFBD>ʱ:<3A><>AppDomain.GetCurrentThreadId has been deprecated because it does not provide a stable Id when managed threads are running on fibers (aka lightweight threads). To get a stable identifier for a managed thread, use the ManagedThreadId property on Thread. http://go.microsoft.com/fwlink/?linkid=14202<30><32>
|
||||
}
|
||||
// ************************************************************************
|
||||
|
||||
|
||||
Reference in New Issue
Block a user