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

今天给大家分享下我用非常古老的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


工具下载:点我下载

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Thinkphp校园新闻发布系统源码 毕业设计项目实例

Thinkphp校园新闻发布系统源码 毕业设计项目实例 校园新闻发布系统模块&#xff1a; 用户模块&#xff1a;注册&#xff0c;登陆&#xff0c;查看个人信息&#xff0c;修改个人信息&#xff0c;站内搜索&#xff0c;新闻浏览等功能&#xff0c; 后台管理员模块&#xff1a;会员…

月薪没到20K,必啃的WebGIS系统技术栈,你练到哪一步了?

WebGIS&#xff08;网络地理信息系统&#xff09;是目前地理信息系统&#xff08;GIS&#xff09;开发的主流&#xff0c;它利用互联网技术来发布、共享和交互地理空间数据。 一个完整的WebGIS项目通常涉及以下几个主要环节&#xff1a;具备一定的理论知识&#xff0c;数据生产…

Spring是如何设计IOC容器的?BeanFactory ApplicationContext

BeanFactory是Spring框架中最底层的接口&#xff0c;用于实例化、配置和管理bean。它使用控制反转&#xff08;IOC&#xff09;模式&#xff0c;将对象的创建、管理和装配的职责从应用程序代码中转移给Spring容器。这样&#xff0c;应用程序代码就无需关心对象如何创建和装配&a…

【区块链】POS(Proof of Stake)权益证明算法深度解析

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 POS&#xff08;Proof of Stake&#xff09;权益证明算法深度解析引言1. POS基本…

基于Matlab的细胞计数图像处理系统(GUI界面有报告) 【含Matlab源码 MX_003期】

简介&#xff1a; 本文旨在解决生物血细胞数目统计的挑战&#xff0c;提出了基于图像处理的综合方案。通过MATLAB平台&#xff0c;我们设计并实现了一套完整的细胞图像处理与分析流程。在预处理阶段&#xff0c;采用图像增强和阈值分割等方法&#xff0c;有效地提高了细胞图像的…

Linux---rpm/yum包管理器

文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 一.RPM概述 RPM&#xff08;Red Hat Package Manager&#xff09;是Linux中的一种软件包管理格式也可以称为软件包管理器&#xff1b;它可以将软件包以二进制形式打包&#xff0c;并提供工具来安…

Conmi的正确答案——Vue默认加载方式设置为Yarn后怎么修改

Vue版本&#xff1a;3 1和2主要是搜索文件所在位置&#xff0c;Windows的这个文件一般在“C:\Users\{当前用户}”下&#xff0c;linux的非root情况下一般在“/home/{当前用户}”下。 1、打开“Everything”&#xff1b; 2、搜索“vuerc”&#xff1b; 3、打开“.vuerc”&#…

vue 和 js写屏幕自适应

实现屏幕自适应的方式有很多种&#xff0c;可以通过插件本身提供的方法&#xff0c;可以通过flex布局等&#xff0c;今天我们来写写通过js实现屏幕自适应。 以下是在vue中实现的屏幕自适应 首先在data中定义一下屏幕的默认大小和缩放比例 然后在mounted中获取窗口的内置宽高&a…

jrt从量变到质变

又是一个加班的周末&#xff0c;上周把台式机代码和数据库环境弄好了&#xff0c;这周进行大数据测试&#xff0c;直接把标本、标本医嘱、报告、报告结果、药敏结果等数据插入到1亿的规模&#xff0c;跑了一天一夜插入了5000多万个标本&#xff0c;后面接着补剩下的到一亿。 演…

生命在于学习——Python人工智能原理(3.5)

三、深度学习 9、常见神经网络 常见的神经网络有卷积神经网络&#xff08;AlexNet、VGGNet&#xff09;、循环神经网络&#xff08;RNN&#xff09; 长短时记忆网络&#xff08;LSTM&#xff09;。 &#xff08;1&#xff09;AlexNet AlexNet于2012年由Hinton学生Alex提出&a…

shell脚本编程(概念、编程和语句)

一、shell脚本概述 1、shell脚本概念 Shell 脚本是利用 shell 的功能所写的一个程序。这个程序是使用纯文本文件&#xff0c;将一些 shell 的语法与命令&#xff08;含外部命令&#xff09;写在里面&#xff0c;搭配正则表达式、管道命令与数据流重定向等功能。 2、Shell 脚…

使用vscode插件du-i18n处理前端项目国际化翻译多语言

前段时间我写了一篇关于项目国际化使用I18n组件的文章&#xff0c;Vue3 TS 使用国际化组件I18n&#xff0c;那个时候还没真正在项目中使用&#xff0c;需求排期还没有定&#xff0c;相当于是预研。 当时就看了一下大概怎么用&#xff0c;改了一个简单的页面&#xff0c;最近需…

嵌入式实训day6

1、 from machine import Pin from neopixel import NeoPixel import timeif __name__"__main__"#创建RBG灯带控制对象&#xff0c;包含5个像素(5个RGB LED)rgb_led NeoPixel(Pin(4,Pin.OUT)&#xff0c;5)#定义RGB颜色RED(255&#xff0c;0&#xff0c;0)GREEN(0,2…

SOLIDWORKS 2024正版软件:新增功能介绍

随着科技的飞速发展&#xff0c;计算机辅助设计&#xff08;CAD&#xff09;软件在工业设计领域扮演着越来越重要的角色。SOLIDWORKS作为3D CAD软件提供商&#xff0c;其每一次版本更新都带来了一系列创新功能和改进&#xff0c;旨在为用户提供更有效、更智能、更协同的设计体验…

传输层udp和tcp协议格式

UDP协议 UDP协议端格式 udp的前八个字节是报头&#xff0c;后面部分就是有效载荷。而目的端口号就保证了udp向应用层交付的问题。 而针对于报头和有效载荷分离是根据固定八字结的报头长度。数据的长度就是取决于报头中udp长度字段的大小来确定udp报文长度&#xff0c;因此也可…

006 spring事务支持

文章目录 事务回顾事务介绍事务并发问题(隔离性导致)事务隔离级别 Spring框架事务管理相关接口Spring框架事务管理的分类编程式事务管理(了解)声明式事务管理(重点) 事务管理之XML方式业务层持久层单元测试代码配置事务管理的AOP 事务管理之混合方式事务管理之基于AspectJ的纯注…

【分布式事务】分布式事务其他解决方案——2PC

目录 2PC解释例子分析回到IT系统中 XA 方案执行流程DTP 模型交互模式 总结 2PC 解释 2PC 即两阶段提交协议&#xff0c;是将整个事务流程分为两个阶段&#xff0c;准备阶段&#xff08;Prepare phase&#xff09;、提交阶段&#xff08;commit phase&#xff09;&#xff0c;…

PyMuPDF 操作手册 - 01 从PDF中提取文本

文章目录 一、打开文件二、从 PDF 中提取文本2.1 文本基础操作2.2 文本进阶操作2.2.1 从任何文档中提取文本2.2.2 如何将文本提取为 Markdown2.2.3 如何从页面中提取键值对2.2.4 如何从矩形中提取文本2.2.5 如何以自然阅读顺序提取文本2.2.6 如何从文档中提取表格内容2.2.6.1 提…

经典sql

一、连续登录问题 问题&#xff1a;1&#xff09;、每个用户连续登录最大天数 2&#xff09;、连续登录大于三天的用户数 分析&#xff1a;本质都是计算用户连续登录天数 方案一&#xff1a;利用排序窗口 select a.user_id,a.date_rslt,count(1) as cnt from (select t.…

定个小目标之刷LeetCode热题(22)

这道题最容易想的就是排序后再遍历&#xff0c;但是时间复杂度就不是O(n)了&#xff0c;所以还是得用更优的解法&#xff0c;直接看题解&#xff0c;它是使用了HashSet&#xff0c;遍历数组&#xff0c;对于每一个数x&#xff0c;如果不存在x - 1则进入内循环&#xff0c;否则跳…