监控系统粘贴板和时间截的小软件(开源成世)
监控系统粘贴板和时间截的小软件(开源成世)
梅菉佬--惊屎无人知 2026-06-05
①使用电脑,经常要用到剪贴板历史的,在windows10中有系统的,但是在ubuntu24中,我找不到,找第三方软件,也是各种不顺限制,有的版本变了就无法使用,又或这样那样的要求,不如干脆自已做一个自用吧。
②先是,读出粘贴板的历史数据,主要是文本,至于非文本格式,暂不理吧,手机粘贴板历史也是如是。
③发现,还要加上当前时间截,这个功能很小,但很实用,很多系统没有自带这功能,自已在ubuntu24中加上lazarus用托盘小软件,轻松实现。
④发现,最好加上常用的难打字,如,塘㙍的㙍字,这个字平时不容易打字出来,事先放入小软件中,到时当成粘贴板历史数据取出来用就行了。又发现,一些五笔中能记忆的字,也可如是,例如,逐,垂,等字。还有一些特殊符号,手机上有,电脑难找但要以显示的,例如,☆★①②③④⑤,还有,一些平时要常查但难记忆的,例如linux的命令,快捷键,也可以加入,相当于托盘记事本。。。。
⑤还有,在ubuntu中,加入到开机启动中,测试顺利可用。还有,编程时,加入ini文件,可以使用时编写文本,不用每次编译源码。还有,要用分级菜单功能,暂定二级树形菜单,否则太难看了。刚开始用最简单的timer来读取粘贴板数据,后来找到别的API,不用timer了,但是,linux的API比起windows的API,似乎难找得多了。。。
于是,自产自用小工具产生了。实测可用。独乐乐不如众乐乐,于是,开源,念心经,惊S无人知,压惊也,这点小事被卡住,多么不抵。。。
//显式初始化GTK(安全调用)
gtk_init(nil, nil);
// 使用正确的选择常量
clipboard_PGtk := gtk_clipboard_get(GDK_SELECTION_CLIPBOARD);
g_signal_connect_data(
clipboard_PGtk,
'owner-change',
TGCallback(@ClipboardChanged),
nil,
nil,
0 //G_CONNECT_DEFAULT // 或直接写 0
);
wwwwww := TStringList.Create;
rootpath := extractfilepath(ParamStr(0));
wwwwww.LoadFromFile(rootpath + 'date_paste_menu.ini');
for i := 0 to wwwwww.Count - 1 do
begin
mm := tmenuitem.Create(self);
mm.Caption := wwwwww[i];
mm.hint := wwwwww[i];
mm.OnClick := self.MenuItem1.OnClick;
MenuItem_INI.Add(mm);
end;
wwwwww.Clear;
wwwwww.LoadFromFile(rootpath + 'have-a-look.ini');
for i := 0 to wwwwww.Count - 1 do
begin
subname := copy(wwwwww[i], 0, pos('#', wwwwww[i]) - 1);
submain := copy(wwwwww[i], pos('#', wwwwww[i])+1, length(wwwwww[i]));
if subname = '' then subname := '看';
mm := tmenuitem.Create(self);
mm.Caption := submain;
mm.hint := submain;
mm.OnClick := self.MenuItem1.OnClick;
for j := 0 to MenuItem_have_a_look.Count - 1 do
if MenuItem_have_a_look.Items[j].Caption = subname then break;
if ((MenuItem_have_a_look.Count>0) and (MenuItem_have_a_look.Items[j].Caption = subname)) then
begin
MenuItem_have_a_look.Items[j].Add(mm);
end
else
begin
submm := tmenuitem.Create(self);
submm.Caption := subname;
MenuItem_have_a_look.Add(submm);
submm.Add(mm);
end;
end;
①刚才打开以前Ubuntu18下Lazarus3.0.0的角谷猜想自制图形化小软件,源代码在Ubuntu24下Lazarus4.4.0下无法编译,各种修改技巧亦无用。
②但别的工程,四色染色算法,托盘日期截,最短路径算法,TSP的sealine算法等又正常,估计可能因dbgrid水平滚动条?treeview控件?tchart控件?搞不清。
③于是得一结论:没有环境支持的代码尽量勿搞,不实用的勿搞,浪费時間引发疲劳,不如上网看风景图片....
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐




所有评论(0)