分享一个自己写的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


工具下载:点我下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mero技术博客

创作不易,打赏小弟可否

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值