[原]一个极其BT的批处理:任务栏系统托盘汽泡提示

这种极其超出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