吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2245|回复: 10
收起左侧

[其他原创] 【aardio】《工作助手》新手打造一款办公助手

[复制链接]
代码搬运工 发表于 2024-3-23 16:28
本帖最后由 代码搬运工 于 2024-3-23 16:33 编辑

前言

在日常工作中有许多文件要根据模板编写新的文件,每次复制粘贴太繁琐,还有些文件需要备注,又不想在文件名里写的很乱。就萌生了自己写个工作助手的想法。程序必须满足以下几个需求。

  1. 根据模板自己建立新的文件。
  2. 可以给文件备注。
  3. 打开快捷文件、程序、网页。
  4. 有时候找东西,想不起来放在那里了,需要一个搜索界面,Everything很好用,但每次都忘记去打开,所以想整合在一起。
  5. 有时候需要根据发过来的内容进行作业,需要一个简单的便签贴在桌面。
  6. 有时候需要将其他程序置顶。
  7. 工作时间过长,需要一个休息提醒功能。
    针对以上几个要求打造一款个人工作助手。

部分源码

由于这次是设计多个功能,源码比较多,主界面写的比较乱就不展示,直接放在链接中。

窗口置顶功能

窗口置顶 = function(){
        import win;        //窗口库
        import win.dlg.message; //窗口消息库

        var hwnd =win.getForeground()          //获取前台窗口句柄
        var 是否置顶 = win.getStyleEx(hwnd ,0x8/*_WS_EX_TOPMOST*/ )
        var msgDlg = win.dlg.message(hwnd);         //创建提醒窗口

        //console.log(hwnd,是否置顶)
        if(是否置顶 != 0){
                win.setTopmost(hwnd,false)         //取消置顶
                msgDlg.ok("取消置顶",500) 
        }
        else {
                win.setTopmost(hwnd)  //置顶
                msgDlg.ok("置顶",500) 
        };        
};

搜索窗口

import win.ui;
import console;
/*DSG{{*/
var winform = win.form(text="文件搜索";right=699;bottom=499;min=false;mode="popup")
winform.add(
edit={cls="edit";left=80;top=24;right=592;bottom=48;dl=1;dr=1;dt=1;edge=1;z=1};
listview={cls="listview";left=16;top=64;right=688;bottom=488;db=1;dl=1;dr=1;dt=1;edge=1;gridLines=1;z=2}
)
/*}}*/

import process;
import fsys.everything;
process.execute("\app\Everything.exe","-startup");         //启动Everything并隐藏界面

winform.listview.insertColumn("文件名",350);
winform.listview.insertColumn("路径",500);
winform.listview.fillParent();                //第二列自动列宽

winform.edit.setFocus(0,-1)  //设置输入框焦点
winform.show();

winform.edit.onOk = function(){ 
        var 关键字 = winform.edit.text;
        if(关键字 = "" or 关键字 = null){
                return ; 
        };
        winform.edit.text = "搜索中,请耐心等待"
        winform.listview.clear();        //清空列表
        var 显示内容 = {};

        for 路径 in fsys.everything.eachSearch(关键字){
                var 文件名 = io.splitpath(路径).file
                var 文件信息 = {文件名,路径};
                table.push(显示内容,文件信息)
        };

        if(#显示内容 = 0){
                winform.edit.text = "未找到搜索内容"
        };
        else {
                winform.edit.text = 关键字
        };

        winform.listview.items = 显示内容;        
};

// 双击打开文件
import process;
winform.listview.onDoubleClick = function(item,subItem,nmListView){
        var 路径 = winform.listview.getItemText(item,2);
        if(io.exist(路径)){
                process.explore(路径);        //打开路径
        };
};

//右键菜单
import win.ui.menu;                //菜单库
import win.clip.file;        //剪贴板文件库
import win.clip;                //剪贴板文本库
winform.listview.onRightClick = function(item,subItem,nmListView){
        var 路径 = winform.listview.getItemText(item,2);
        if(!io.exist(路径)){ return };        //路径不存在则跳过

        var 右键菜单 = win.ui.popmenu(winform);
        右键菜单.add("打开",function(){
                process.explore(路径);        //打开路径
        });

        右键菜单.add("打开目录",function(){
                process.exploreSelect(路径);
        });

        右键菜单.add("复制",function(){
                win.clip.file.write(路径)
        });

        右键菜单.add("复制路径",function(){
                win.clip.write(路径);
        });

        右键菜单.popup();

}

win.loopMessage();
return winform;

便签窗口

import win.ui;
import console;
/*DSG{{*/
var winform = win.form(text="aardio form";right=303;bottom=399;bgcolor=12974079;border="none";exmode="toolwindow";topmost=1)
winform.add(
richedit={cls="richedit";left=8;top=8;right=296;bottom=392;autohscroll=false;bgcolor=12974079;link=1;multiline=1;wrap=1;z=1}
)
/*}}*/

if(!存档对象.NotesData.data){        /* 无存档信息,建立初始信息 */
        存档对象.NotesData.data = {
        left=winform.left;
        right=winform.right;
        top=winform.top;
        bottom=winform.bottom;
        内容="简单便签,只支持插入文本与图片,满足简单记录使用。退出自动保存内容,按Esc键退出"
        }        //初始信息
        winform.richedit.text = 存档对象.NotesData.data.内容; //加载常规内容
};
else {
        //加载富文本内容
        winform.richedit.streamIn(存档对象.NotesData.data.内容);        

        // 加载位置
        winform.left = 存档对象.NotesData.data.left;
        winform.right = 存档对象.NotesData.data.right;
        winform.top = 存档对象.NotesData.data.top;
        winform.bottom = 存档对象.NotesData.data.bottom;
};

// 实现按住拖动窗口效果
winform.onMouseDown  = function(wParam,lParam){
        winform.hitCaption();
};

//Esc键退出
winform.onCancel = function(){
    winform.close()        
};

//退出前保存数据
winform.onDestroy = function(){
    存档对象.NotesData.data.内容 = winform.richedit.streamOut();
        存档对象.NotesData.data.left=winform.left;
        存档对象.NotesData.data.right=winform.right;
        存档对象.NotesData.data.top=winform.top;
        存档对象.NotesData.data.bottom=winform.bottom;
}

//鼠标滚动
winform.richedit.wndproc = function(hwnd,message,wParam,lParam){
        if(message = 522){                //鼠标滚轮
                if(wParam = 4287102976){                //鼠标向下
                        winform.richedit.vScroll(1/*_SB_LINEDOWN*/) 
                };
                elseif(wParam = 7864320){        //鼠标向上
                        winform.richedit.vScroll(0/*_SB_LINEUP*/) 
                };
        };
};

winform.show();
win.loopMessage();
return winform;

休息提醒窗口

import fonts.fontAwesome;
import win.ui;
/*DSG{{*/
var winform = win.form(text="aardio form";right=759;bottom=469;image=$"\pexels-tobi-620337.jpg";bkBottom=0;bkLeft=0;bkRight=0;bkTop=0;border="none")
winform.add(
plus={cls="plus";left=728;top=8;right=752;bottom=32;align="left";color=255;dr=1;dt=1;font=LOGFONT(h=-16);iconStyle={font=LOGFONT(h=-20;name='FontAwesome')};iconText='\uF00D';notify=1;valign="top";z=1};
static={cls="static";text="Static";left=168;top=64;right=600;bottom=104;align="center";center=1;color=255;dl=1;dr=1;dt=1;font=LOGFONT(h=-35;weight=700);transparent=1;z=2}
)
/*}}*/

import key.hook;
var hook = key.hook();

hook.proc = function(msg,vkcode,scancode,injected,flags,timeStamp,extraInfo){
        return true;         //锁定按键
};

var 图像路径 = 存档对象.config.提醒.路径;
var 秒数 = 存档对象.config.提醒.休息

if(io.exist(图像路径)){
        winform.image = 图像路径;
};

winform.plus.skin({
        color={
                active=0xFFFF0000;
                default=0xFFFF0000;
                disabled=0xFF6D6D6D;
                hover=0xFF00FF00
        }
})

winform.plus.oncommand = function(id,event){
        hook.close()        //关闭键盘钩子 
        winform.close()
};

winform.show();                //显示界面
winform.fullscreen(true)                //全屏窗口

for(i=1;秒数;1){
        var 时间 = 秒数 +1 - i
        winform.static.text = "距离休息结束还有 " + 时间 + " 秒"
        win.delay(1000)

        if(i = 秒数){
                hook.close()        //关闭键盘钩子 
                winform.close()
        };
};

win.loopMessage();
return winform;

使用界面

https://ice.frostsky.com/2024/03/23/a79ca9bece256db5cee4a03e94068cce.png
https://ice.frostsky.com/2024/03/23/7435c7b4b3cfa15bd76dc367b44ffd5f.png
https://ice.frostsky.com/2024/03/23/7ff8c76fa80f0608d2c905fb2ad7a4b5.png
https://ice.frostsky.com/2024/03/23/d0b5d864f08466b70ef887bf38399dc5.png

软件BUG

众所周知没有BUG的软件不是一个好软件。个人能力及精力有限,无法做到优化很好。

  1. 无法直接添加网页快捷,可在资源管理器中添加后在刷新使用助手打开。
  2. 没有事实更新资源管理器的文件变动,所有会出现文件实际删除了,软件没刷新打开文件后报错。
  3. 因为特意设计两层目录,使用的符号过滤来过滤掉文件在树形列表显示,可能存在目录中存在符号无法显示的问题。
  4. 其他不重要或未发现的BUG。

链接


源码:链接: https://pan.baidu.com/s/1WXY0V6GNddC2B5nGqodcBA 提取码: 4gfw 复制这段内容后打开百度网盘手机App,操作更方便哦
成品:链接: https://pan.baidu.com/s/1yg2_HjyeNPrVL02HCQmwNg 提取码: esc8 复制这段内容后打开百度网盘手机App,操作更方便哦

免费评分

参与人数 6吾爱币 +14 热心值 +6 收起 理由
orangeidea + 1 + 1 我很赞同!
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
蓝色858 + 1 + 1 谢谢@Thanks!
playboysen + 3 + 1 会说你就多说些@_0
killer1424 + 1 + 1 我很赞同!
知心 + 1 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

sai609 发表于 2024-3-23 20:33
批量生成word文档?
qq20048888 发表于 2024-3-23 22:44
lmxch00 发表于 2024-3-24 09:22
millioxe 发表于 2024-3-25 09:02
厉害了,很方便,持续
y5230024 发表于 2024-3-25 09:24
aardio好是好,就是教程比较少,不够系统
wsnbbxfs 发表于 2024-3-27 12:33
这个工具很不错啊
zngray 发表于 2024-3-28 08:32
看起来很厉害
抗战十年 发表于 2024-10-2 11:28
大佬可不可以制作点视频普渡一下众生?
maxwd 发表于 2024-10-9 15:04
谢谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 12:29

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表