Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
T
Thick-Common
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
潘栩锋
Thick-Common
Commits
b115f761
Commit
b115f761
authored
May 07, 2021
by
潘栩锋
🚴
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
尝试 强制刷新 window 的状态栏, 失败了
parent
c5d98bb6
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
83 additions
and
0 deletions
+83
-0
AppJustOne.cs
Project.FLY.AppHelper/FLY.AppHelper/AppJustOne.cs
+10
-0
FLY.AppHelper.csproj
Project.FLY.AppHelper/FLY.AppHelper/FLY.AppHelper.csproj
+1
-0
TaskBarUtil.cs
Project.FLY.AppHelper/FLY.AppHelper/TaskBarUtil.cs
+70
-0
WindowNotifyIconHelper.cs
...ect.FLY.AppHelper/FLY.AppHelper/WindowNotifyIconHelper.cs
+2
-0
No files found.
Project.FLY.AppHelper/FLY.AppHelper/AppJustOne.cs
View file @
b115f761
...
...
@@ -16,6 +16,16 @@ namespace FLY.AppHelper
void
app_Startup
(
object
sender
,
StartupEventArgs
e
)
{
if
(
Application
.
Current
.
Properties
.
Contains
(
"reboot"
))
{
bool
isReboot
=
(
bool
)
Application
.
Current
.
Properties
[
"reboot"
];
Application
.
Current
.
Properties
[
"reboot"
]
=
false
;
if
(
isReboot
)
{
return
;
}
}
Process
process
=
Process
.
GetCurrentProcess
();
string
name
=
process
.
ProcessName
;
...
...
Project.FLY.AppHelper/FLY.AppHelper/FLY.AppHelper.csproj
View file @
b115f761
...
...
@@ -52,6 +52,7 @@
<ItemGroup>
<Compile
Include=
"AppJustOne.cs"
/>
<Compile
Include=
"Properties\AssemblyInfo.cs"
/>
<Compile
Include=
"TaskBarUtil.cs"
/>
<Compile
Include=
"WindowNotifyIconHelper.cs"
/>
</ItemGroup>
<Import
Project=
"$(MSBuildToolsPath)\Microsoft.CSharp.targets"
/>
...
...
Project.FLY.AppHelper/FLY.AppHelper/TaskBarUtil.cs
0 → 100644
View file @
b115f761
using
System
;
using
System.Runtime.InteropServices
;
namespace
FLY.AppHelper
{
public
class
TaskBarUtil
{
struct
RECT
{
public
int
left
,
top
,
right
,
bottom
;
}
public
static
void
RefreshNotificationArea
()
{
var
notificationAreaHandle
=
GetNotificationAreaHandle
();
if
(
notificationAreaHandle
==
IntPtr
.
Zero
)
return
;
RefreshWindow
(
notificationAreaHandle
);
}
private
static
void
RefreshWindow
(
IntPtr
windowHandle
)
{
const
uint
wmMousemove
=
0x0200
;
RECT
rect
;
GetClientRect
(
windowHandle
,
out
rect
);
for
(
var
x
=
0
;
x
<
rect
.
right
;
x
+=
5
)
for
(
var
y
=
0
;
y
<
rect
.
bottom
;
y
+=
5
)
SendMessage
(
windowHandle
,
wmMousemove
,
0
,
(
y
<<
16
)
+
x
);
}
private
static
IntPtr
GetNotificationAreaHandle
()
{
const
string
notificationAreaTitle
=
"Notification Area"
;
//const string notificationAreaTitleInWindows7 = "User Promoted Notification Area";
const
string
notificationAreaTitleInWindows7
=
"用户显示的通知区域"
;
//for chinese version
var
systemTrayContainerHandle
=
FindWindowEx
(
IntPtr
.
Zero
,
IntPtr
.
Zero
,
"Shell_TrayWnd"
,
string
.
Empty
);
var
systemTrayHandle
=
FindWindowEx
(
systemTrayContainerHandle
,
IntPtr
.
Zero
,
"TrayNotifyWnd"
,
string
.
Empty
);
var
sysPagerHandle
=
FindWindowEx
(
systemTrayHandle
,
IntPtr
.
Zero
,
"SysPager"
,
string
.
Empty
);
var
notificationAreaHandle
=
FindWindowEx
(
sysPagerHandle
,
IntPtr
.
Zero
,
"ToolbarWindow32"
,
notificationAreaTitle
);
if
(
notificationAreaHandle
==
IntPtr
.
Zero
)
notificationAreaHandle
=
FindWindowEx
(
sysPagerHandle
,
IntPtr
.
Zero
,
"ToolbarWindow32"
,
notificationAreaTitleInWindows7
);
return
notificationAreaHandle
;
}
[
DllImport
(
"user32.dll"
,
SetLastError
=
true
)]
static
extern
IntPtr
FindWindowEx
(
IntPtr
parentHandle
,
IntPtr
childAfter
,
string
className
,
string
windowTitle
);
[
DllImport
(
"user32.dll"
)]
static
extern
bool
GetClientRect
(
IntPtr
handle
,
out
RECT
rect
);
[
DllImport
(
"user32.dll"
,
CharSet
=
CharSet
.
Auto
)]
static
extern
IntPtr
SendMessage
(
IntPtr
handle
,
UInt32
message
,
Int32
wParam
,
Int32
lParam
);
}
}
Project.FLY.AppHelper/FLY.AppHelper/WindowNotifyIconHelper.cs
View file @
b115f761
...
...
@@ -24,6 +24,8 @@ namespace FLY.AppHelper
/// <param name="text">当鼠标指针停留在通知区域图标上时显示的工具提示文本</param>
public
WindowNotifyIconHelper
(
System
.
Windows
.
Window
window
,
string
text
)
{
TaskBarUtil
.
RefreshNotificationArea
();
notifyIcon
=
new
System
.
Windows
.
Forms
.
NotifyIcon
();
//this.notifyIcon.BalloonTipText = "Hello, NotifyIcon!";
notifyIcon
.
Text
=
text
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment