用C#代码编写的SN快速输入工具

用C#代码编写的SN快速输入工具,第1张

用C#代码编写的SN快速输入工具,第2张

一般要在软件中输入序列号(SN),最常用的软件大概就是盗版软件了。通常盗版软件的序列号(SN)以XXXXX-XXXXX-XXXXX的形式保存。

软件输入序列号的地方通常由几个文本框组成。把XXXXX一个个复制到文本框里会很麻烦。于是SN快速输入工具诞生了。

当然,这些和我写这个程序的原因无关。我之所以写这个程序,纯粹是因为一个网友跟他叔叔打了个赌,说他要写一个程序,他叔叔让他写这个程序。但遗憾的是,我的网友是编程初学者(比我还好吃的新手),当然完成不了这个看似简单实际上需要大量编程知识的程序。

要做这个程序,首先当然要了解程序的功能。它的功能是让你以“XXXXX-XXXXX-XXXX-XXXX”的形式复制序号。当您将鼠标指向文本框时,程序可以自动将XXXXX添加到相应的文本框中。

由于我们必须处理复制的序列号,我们必须使用与剪贴板相关的东西。剪贴板。幸运的是,我以前在C#中用过n次,所以我不用再检查Windows api了。# c #中最初提供了类剪贴板。

所以我用了静态方法字符串剪贴板。GetText()把序列号用-刚复制出来的,然后用一个字符串变量strKeys保存在我的程序里备用。

第一步是从剪贴板获取数据,我们就完成了。

然后,我们该考虑如何处理我们的数据了。我们的数据最终将被写入几个连续的文本框中。然后可以考虑用string.split (char [],string split option)的方法将序列号拆分成几个子字符串,然后通过windows api将文本输出到对应的textbox句柄。但这无疑会增加节目的难度。可以使用Tab键切换几个连续的文本框,然后将文本输出到文本框,让键盘直接打出来。所以很明显,我们只需要模拟出想要按的键就可以了。这时首先想到的是windows api中的键盘模拟事件keybd_event,于是开始查询MSDN的keybd_event方法。方法中有一个KEYEVENTF_KEYUP参数,但是我不知道它对应的值,所以我开始寻找这个长型的值。但是一直找不到。正当我在MSDN寻找与KEYUP相关的东西时,我突然发现了职业体系。事实证明。net Framework已经将非托管对象keybd_event的方法封装到类SendKeys中,直接使用这个类SendKeys就可以模拟键盘操作。

查询Tab键写成{Tab}。

然后我只需要把原文strKeys中的'-'全部转换成{Tab}然后交给SendKeys类处理,这个程序就基本完成了。

所以有。

斯特基斯。替换(“-”、“{TAB}”)。
发送键。发送(strKeys);

这两行代码。

这就是我程序的主要过程:

私有进程热键()//主处理程序
{
strkeys = clipboard . gettext();[br/]strKeys。替换(“-”、“{TAB}”)。
发送键。发送(strKeys);
}

但是怎么才能通过快捷键触发这个过程呢?

所以我开始在百度和MSDN上搜索关于windows api处理全局快捷方式的信息。

要设置快捷键,必须使用以下两种user32.dll方法。

BOOL register hotkey(
HWND HWND,
int id,
UINT fsModifiers,
UINT vk
);

BOOL unregister hotkey(
HWND HWND,
int id
);

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 用C#代码编写的SN快速输入工具

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情