[原]一个极其BT的批处理:任务栏系统托盘汽泡提示
Posted | archive
这种极其超出p处理讨论范围的话题真的有点BT,而且很无聊,所以我的解决方案也很无聊,那就是调用无所不能的 C#,所以需要 .NET Framework 支持,看代码`
CODE: [Copy to clipboard]
@echo off
set "dnfpath=C:\Windows\Microsoft.NET\Framework"
set "est=DO_NOT_ZT_WITHOUT_PERMISSION"
for /f "delims=" %%v in ('dir /ad /b %dnfpath%\v?.*') do (
if exist "%dnfpath%\%%v\csc.exe" set "cscpath=%dnfpath%\%%v\csc.exe"
)
< "%~f0" more +17 > "%temp%\estTrayTip.cs"
%cscpath% "/out:%cd%\estTrayTip.exe" "%temp%\estTrayTip.cs"
estTrayTip.exe C:\Windows\System32\acwizard.ico 看什么看 没见过批处理啊?没见过任务栏的汽泡信息啊?见过了吧?见过了顶electronixtar的帖子。 2
:exe的参数解释:estTrayTip.exe 图标路径 标题 内容 提示图标类型Error、Info、None、Warning,这里取2=Info。每个参数都必须正确填写
>nul ping 127.1 -n 1
del estTrayTip.exe
goto:eof
:estTrayTip
using System;
using System.Windows.Forms;
using System.Drawing;
namespace estTrayTip
{
class Program
{
static void Main(string[] args)
{
NotifyIcon estIcon = new NotifyIcon();
estIcon.Icon = new Icon(args[0]);
estIcon.Visible = true;
ToolTipIcon estToolTipIcon = new ToolTipIcon();
switch(args[3])
{
case "1":
estToolTipIcon = ToolTipIcon.Error; break;
case "2":
estToolTipIcon = ToolTipIcon.Info; break;
case "3":
estToolTipIcon = ToolTipIcon.None; break;
case "4":
estToolTipIcon = ToolTipIcon.Warning; break;
}
estIcon.ShowBalloonTip(1,args[1],args[2],estToolTipIcon);
}
}
}
Comments