分享一个自己写的PC版的Ai指令保存工具

news2024/12/29 10:08:57

今天给大家分享下我用非常古老的VB写的一个小工具。纯粹是每次电脑使用指令太麻烦了,所以写了一个小工具。这个工具支持5条指令,作为一般的应该够用了。使用场景:比如你要经常使用指令,但是觉得复制指令麻烦,那么你可以用这个工具。工具在文章末尾可以下载:

具备下面的功能:

1.输入指令可以保存指令

2.点击复制指令可以保存指令

3.复制提醒,每复制一个指令,会显示已复制,复制完最后一条的时候,弹出对话框提示一轮已经复制完成,初始状态显示为未复制。

4.窗口默认开启置顶,所以不用担心说会消失,只有当你叉掉才会消失。

使用方法:在D盘建立一个名为wfai的文件夹,然后创建一个1.txt文件既可。这里目前只能手动建立,不过也只是首次使用建立一次,后面都不需要再建。

代码如下:

Private Declare Function SetWindowPos Lib "user32" ( _
    ByVal hWnd As Long, _
    ByVal hWndInsertAfter As Long, _
    ByVal X As Integer, _
    ByVal Y As Integer, _
    ByVal cx As Integer, _
    ByVal cy As Integer, _
    ByVal uFlags As Long) As Long
  
Const HWND_TOPMOST = -1
Const SWP_NOMOVE = &H2
Const SWP_NOSIZE = &H1

Private Sub Command1_Click()

End Sub

Private Sub Form_Load()
    ' 将本窗口设置为置顶窗口
    SetWindowPos Me.hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
    ' 取消窗口置顶状态
    ' SetWindowPos Me.hWnd, 0, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE

    
    Label1.Caption = "未复制"
    Label2.Caption = "未复制"
    Label3.Caption = "未复制"
    Label4.Caption = "未复制"
    Label9.Caption = "未复制"
    
    Dim filePath As String
    Dim fileNum As Integer
    Dim line As String
    Dim i As Integer
      
    ' 设置文件路径
    filePath = "D:\wfai\1.txt"
    
    fileNum = FreeFile ' 获取可用的文件号
    
    
    
    ' 尝试打开文件
    ' 打开文件进行读取
    Open filePath For Input As #fileNum
    ' 检查是否发生了错误(比如文件未找到)
   
   i = 1
    
   While Not EOF(fileNum) And i <= 5
        Line Input #fileNum, line
        Controls("Text" & i).text = line
        i = i + 1
    Wend
    
    ' 类似地,为Text3和Text4读取内容...
    
    ' 关闭文件
    Close #fileNum
End Sub

' 这是一个辅助函数,用于检查文件是否存在
Function FileExists(ByVal filePath As String) As Boolean
    Dim fso As Object
    On Error Resume Next
    Set fso = CreateObject("Scripting.FileSystemObject")
    FileExists = (fso.FileExists(filePath))
    Set fso = Nothing
    On Error GoTo 0
End Function
Private Sub btn_save_Click()
 Dim emptyTextes As String
    Dim isAnyEmpty As Boolean
    isAnyEmpty = False
    Dim filePath As String
    Dim fileNum As Integer
    Dim textToWrite As String
    
   
  
    ' 初始化空文本框字符串
    emptyTextes = ""
  
    ' 检查Text1是否为空
    If Trim(Text1.text) = "" Then
        If emptyTextes = "" Then
            emptyTextes = "文本框1"
        Else
            emptyTextes = emptyTextes & ",文本框1"
        End If
        isAnyEmpty = True
    End If
  
    ' 检查Text2是否为空
    If Trim(Text2.text) = "" Then
        If emptyTextes = "" Then
            emptyTextes = "文本框2"
        Else
            emptyTextes = emptyTextes & ",文本框2"
        End If
        isAnyEmpty = True
    End If
  
    ' 检查Text3是否为空
    If Trim(Text3.text) = "" Then
        If emptyTextes = "" Then
            emptyTextes = "文本框3"
        Else
            emptyTextes = emptyTextes & ",文本框3"
        End If
        isAnyEmpty = True
    End If
  
    ' 检查Text4是否为空
    If Trim(Text4.text) = "" Then
        If emptyTextes = "" Then
            emptyTextes = "文本框4"
        Else
            emptyTextes = emptyTextes & ",文本框4"
        End If
        isAnyEmpty = True
    End If
    
    ' 检查Text5是否为空
    If Trim(Text5.text) = "" Then
        If emptyTextes = "" Then
            emptyTextes = "文本框5"
        Else
            emptyTextes = emptyTextes & ",文本框5"
        End If
        isAnyEmpty = True
    End If
  
    ' 如果存在空文本框,则弹出对话框
    If isAnyEmpty Then
        MsgBox emptyTextes & "为空,请检查后保存。"
    Else
        
        
        filePath = "D:\wfai\1.txt" ' 修改为你的文件路径
        fileNum = FreeFile ' 获取可用的文件号
        
        
          
        ' 打开文件进行写入
        
        
        Open filePath For Output As #fileNum
          
        ' 写入文本
        ' 使用 Print # 语句而不是 Write #,因为 Print # 不会添加双引号和逗号
        Print #fileNum, Text1.text
        Print #fileNum, Text2.text
        Print #fileNum, Text3.text
        Print #fileNum, Text4.text
        Print #fileNum, Text5.text
        ' ... 可以继续添加其他Text的文本
      
        ' 关闭文件
        Close #fileNum
        
        ' 显示保存成功的消息
       MsgBox "文件已成功保存。", vbInformation, "保存成功"

    End If
End Sub



Private Sub btn1_Click()
    Label1.Caption = "已复制"
    CopyToClipboard (Text1.text)
    UpdateLabels
End Sub
  
Private Sub btn2_Click()
    Label2.Caption = "已复制"
    CopyToClipboard (Text2.text)
    UpdateLabels
End Sub
  
Private Sub btn3_Click()
    Label3.Caption = "已复制"
    CopyToClipboard (Text3.text)
    UpdateLabels
End Sub
  
Private Sub btn4_Click()
    Label4.Caption = "已复制"
    CopyToClipboard (Text4.text)
    ' 不直接调用ResetLabels,而是在UpdateLabels中检查所有标签状态
    UpdateLabels ' 显式调用UpdateLabels
End Sub
Private Sub btn5_Click()
    Label9.Caption = "已复制"
    CopyToClipboard (Text5.text)
    ' 不直接调用ResetLabels,而是在UpdateLabels中检查所有标签状态
    UpdateLabels ' 显式调用UpdateLabels
End Sub
  
Private Sub UpdateLabels()
    ' 检查是否所有标签都显示"已复制"
    If Label1.Caption = "已复制" And Label2.Caption = "已复制" And Label3.Caption = "已复制" And Label4.Caption = "已复制" And Label9.Caption = "已复制" Then
        ' 所有内容都已复制
        MsgBox "所有内容都已复制!"
        ' 重置所有标签为"未复制"
        ResetLabels
    End If
End Sub
  
Private Sub ResetLabels()
    ' 重置所有标签为"未复制"
    Label1.Caption = "未复制"
    Label2.Caption = "未复制"
    Label3.Caption = "未复制"
    Label4.Caption = "未复制"
    Label9.Caption = "未复制"
End Sub
Private Sub CopyToClipboard(ByVal text As String)
    Dim objData As Object
    Set objData = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
    ' "1C3B4210-F441-11CE-B9EA-00AA006B1A69" 是 DataObject 的 ProgID
    objData.SetText text
    objData.PutInClipboard
    Set objData = Nothing
End Sub


工具下载:点我下载

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1835738.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Qt | 简单的使用 QStyle 类(风格也称为样式)

01、前言 者在 pro 文件中已添加了正确的 QT+=widgets 语句 02、基础样式 1、QStyle 类继承自 QObject,该类是一个抽像类。 2、QStyle 类描述了 GUI 的界面外观,Qt 的内置部件使用该类执行几乎所有的绘制,以确保 使这些部件看起来与本地部件完全相同。 3、Qt 内置了一系…

水利部:关于推进水利工程建设数字孪生的指导意见

从《关于大力推进智慧水利建设的指导意见》到《十四五智慧水利建设规划》&#xff0c;自2022年以来&#xff0c;水利部先后出台一系列文件部署“数字孪生水利”政策框架。2024年4月1日&#xff0c;水利部再次颁发《关于推进水利工程建设数字孪生的指导意见》&#xff0c;强调&a…

自注意力与卷积高效融合!多SOTA、兼顾低成本与高性能

在自注意力机制中&#xff0c;模型计算输入序列中不同位置的相关性得分&#xff0c;以生成连接权重&#xff0c;从而关注序列中的重要部分。而卷积通过滑动窗口的方式&#xff0c;在输入上应用相同权重矩阵来提取局部特征。 如果将以上两者结合&#xff0c;就可以同时利用自注…

[C#]winform基于opencvsharp实现黑白图像上色

【算法简介】 技术有时会提高艺术&#xff0c;但有时也会破坏艺术。着色黑白电影是一个可以追溯到1902年的古老想法。几十年来&#xff0c;许多电影创作者反对将黑白电影着色的想法&#xff0c;并将其视为对艺术的破坏。但今天它被接受为艺术形式的增强。该技术本身已经从艰苦…

PO、VO、BO、DAO、DTO、POJO

PO、VO、BO、DAO、DTO关系图 DAO&#xff08;Data Access Object&#xff09;数据访问对象&#xff0c;数据访问&#xff1a;顾名思义就是与数据库打交道&#xff0c;它封装了与底层数据源&#xff08;如数据库&#xff09;的交互逻辑。为业务逻辑层&#xff08;Service&#…

绿色免费离线版JS加密混淆工具 - 支持全景VR加密, 小程序js加密, H5网站加密

自从我们推出在线版的免费JS加密混淆工具以来&#xff0c;受到了广大用户的热烈欢迎。特别是全景开发人员&#xff0c;他们使用该工具加密VR插件的JS代码, 添加域名锁等&#xff0c;都非常有效地保护了插件的代码资源。 最近&#xff0c;我们收到了许多用户的反馈&#xff0c;…

【数据库编程-SQLite3(四)】基本常用操作

学习分享 1、sql数据类型1.1、约束 2、数据定义语言DDL(Data Definition Language)2.1、创建表2.2、修改表2.3、删除表 3、 数据操纵语言DML(Data Manipulation Language)3.1、INSERT语句3.2、DELETE语句3.3、UPDATE语句3.4、SELECT语句 4、高级查询4.1、SQL通配符4.2、模糊查询…

JAVA的优势是什么?

在开始前刚好我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「java的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“666”之后私信回复“666”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01; java编程语言自1995年问世…

基于 Vitis HLS 的单个乘法 DSP 映射研究

文章目录 1 自媒体账号2 引言3 整数乘法4 定点乘法5 浮点乘法6 总结 1 自媒体账号 目前运营的自媒体账号如下&#xff1a; 哔哩哔哩 【雪天鱼】: 雪天鱼个人主页-bilibili.com 如果觉得有所收获的话&#xff0c;可以点击我的主页 -> 充电 -> 自定义充电 支持一下&#…

人工智能在癌症新辅助治疗领域的研究|顶刊速递·24-06-18

小罗碎碎念 本期推文主题——人工智能在肿瘤新辅助治疗领域中的研究进展。 这一期推文谋划已久&#xff0c;最早可以追溯到五一假期。五一的时候&#xff0c;我第一站去的就是北大。当时和北医的一个师兄&#xff08;博士&#xff09;聊天&#xff0c;主要聊的就是新辅助治疗AI…

摄像头图像矫正的表格生成方法

1.设置单元格高宽 点击表格左上角 的 小三角 列宽: HOME -> Rows and Columns -> Column Width 5 CM 行高: HOME -> Rows and Columns -> Row Height 5 CM 2.设置 条件格式 HOME -> Conditional Formatting-> Manager Rules 点击 左上方 New Rule…

老杨说运维 | 如何结合现状进行运维路径建设(文末附演讲视频)

青城山脚下的滔滔江水奔涌而过&#xff0c;承载着擎创一往无前的势头&#xff0c;共同去向未来。2024年6月&#xff0c;双态IT成都用户大会擎创科技“数智化可观测赋能双态运维”专场迎来了完满的收尾。 本期回顾来自擎创科技CTO葛晓波的现场演讲&#xff1a;数智化转型的核心目…

PCI-E 5.0固态硬盘温度价格「双降」,速度近15GB/s

都 2024 年了&#xff0c;相信各位同学对固态硬盘都不陌生了吧。 随着技术的不断更新迭代&#xff0c;固态硬盘接口速率如今最高已经来到了 PCI-e 5.0 了。 其实这不算什么新技术了&#xff0c;早在2023年5月美光就上市了全球首款 PCI-e 5.0 固态硬盘&#xff0c; 英睿达 T700…

推动电子凭证服务革新,加速政务数字化转型

随着“互联网政务”的深入实施&#xff0c;电子凭证已成为政务服务数字化升级的关键要素。电子凭证不仅极大地方便了企业和群众&#xff0c;而且作为国家信息资源的重要组成部分&#xff0c;对于优化政务服务、加强社会治理和行业监管具有深远的影响。然而&#xff0c;由于政务…

Android-apk自动签名

一、创建apk签名 1、有得话忽略 Build->Generate Signed Bundle or APK&#xff0c;选择APK&#xff0c;然后Next&#xff0c;然后选择Create new 2、 2.在app/build.gradle中&#xff0c;在android{…}中添加以下内容 signingConfigs { release { storeFile file(androi…

Mojo崛起:AI-first 的编程语言能否成为新流行?

眨眼之间&#xff0c;你可能会错过又一种编程语言的发明。 有个笑话说&#xff0c;程序员花费20%的时间编写代码&#xff0c;80%的时间决定使用什么语言。 事实上&#xff0c;编程语言如此之多&#xff0c;以至于我们不确定实际有多少种。据估计&#xff0c;至少有700种编程语…

HarmonyOS角落里的知识:一杯冰美式的时间 -- 之打字机

一、前言 模拟编辑器或者模拟输入框中文字啪啦啪啦输入的效果&#xff0c;往往能够吸引人们的眼球&#xff0c;让用户的注意力聚焦在输入的内容上&#xff0c;本文将和大家探讨打字机效果的实现方式以及应用。Demo基于API12。 二、思路 拆分开来很简单&#xff0c;将字符串拆…

高等数学笔记(三):导数

一、导数概念 1.1 导数的定义 1.1.1 函数在一点处的导数与导函数 1.1.2 单侧导数 1.2 导数的几何意义 1.3 函数可导性与连续性的关系 二、函数的求导法则 2.1 函数的和、差、积、商的求导法则 2.2 反函数的求导法则 2.3 复合函数的求导法则 2.4 基本求导法则与导数公式 三…

以太坊智能合约不能调用:一定注意智能合约地址,每次部署地址都会变化;nonce值 什么作用,是什么;在交易中调用智能合约添加附加信息

目录 以太坊智能合约不能调用 一定注意智能合约地址,每次部署地址都会变化 Transaction must include these fields: %r" % missing_keys 缺少nonce nonce值 什么作用,是什么 在交易中调用智能合约添加附加信息 1. 定义智能合约 2. 部署并调用智能合约 注意事项…

如何恢复iPhone iCloud云盘资料删除?给出建议

&#x1f3c6;本文收录于「Bug调优」专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收藏&&…