影子输入法集成工具之剪切板工具

影子输入法集成小工具

脱胎于僵尸大佬的剪切板小工具,计划在之后作为影子的一个剪切板管理工具使用,有时候记不清影子的快捷键,或者存在造词的按钮和其他的ahk冲突,改键麻烦等问题,还有一些影子的使用者是鼠标用户,所以集成了这一个以鼠标点击为主,按键为辅助的剪切板管理工具

主要作用是收集文本,查询帮助,以及搜索

和其他独立工具的不同是,这是个快速打开造词以及输入法设置的入口

视频举例

打开影子输入法的造词等界面,比其他方式更加好记

影子输入法集成工具之剪切板工具

 

测试ahk相关的代码,比自己弄个快捷键也是简单多了,很适合经常测试ahk窖

影子输入法集成工具之剪切板工具

 

另外就是保存和收集文本文件之用途,非常方便快捷

影子输入法集成工具之剪切板工具

 

单独设置了一个设置界面用来配置一些需要设置的保存路径和编辑器指定

影子输入法集成工具之剪切板工具

 

之后准备将我自己制作的聚合搜索工具也改造一下集成在影子上

下面展示单独文件版本的源码,和影子的集成源码等之后统一发布半版本


Settings:
gui dbset:add,text,,Set CollectPtah
gui dbset:Add,Edit,vCollectPtah gWrite,
gui dbset:add,text,,Set EditorPath
gui dbset:Add,Edit,vEditorPath gWrite,
Gui dbset:show
Return

Write:
gui,Submit,NoHide
db[settings,"CollectPtah"]:=CollectPtah
db.save()
Return


~^c::DoublePress("MeunGui")
MeunGui(){
CoordMode,Mouse
DetectHiddenWindows,on
初始=
(
[settings]
CollectPtah=C:\Users\Administrator\Desktop\Collect\
EditorPath=C:\SoftDir\VSCode-win32-x64-1.70.0\Code.exe
)
IfNotExist,DoubleCopyMenu.ini
{
	db:= class_EasyIni("DoubleCopyMenu.ini",初始)
	db.save()
}
db:= class_EasyIni("DoubleCopyMenu.ini")
for k,v in db["settings"]
{
    %k%=%v%
}
    Global FileName, SaveEdit, Allstr
    Allstr := Clipboard
    CoordMode, Mouse, Screen
    MouseGetPos, Mousex, Mousey
    Gui dcmain:  Destroy
    Gui dcmain:  +AlwaysOnTop -Caption +HwndSaveGui +E0x08000000
    Gui dcmain:  Font, s12
    Gui dcmain:  Add, Edit, x10 y10 w220 vFileName HwndSaveEdit,
    Gui dcmain:  Font, s9
    Gui dcmain:  Add, button, x10 w70 g预览, 1获取选中
    Gui dcmain:  Add, button, x+5 w70 g_存AHK收藏, 2存AHK收藏   
    Gui dcmain:  Add, button, x+5 w70 g_存txt收藏, 3存txt收藏
    Gui dcmain:  Add, button, x10 w70 g_看下效果, 4看下效果
    Gui dcmain:  Add, button, x+5 w70 gSettings,5菜单设置
    Gui dcmain:  Add, button, x+5 w70 gapp,6切中英管理
    Gui dcmain:  Add, button, x10 w70 goption1, 7设置
    Gui dcmain:  Add, button, x+5 w70 gcikuManager1,8词库
    Gui dcmain:  Add, button, x+5 w70 g_造词,z造词
    Gui dcmain:  Add, button, x10 w70 g帮助ahk, h帮助ahk    
    Gui dcmain:  Add, button, x+5 w70 g_不想看了, q不想看了

    Gui dcmain:  Show, % "x" Mousex " y"Mousey
    CoordMode, Mouse
    ControlFocus, , ahk_id %SaveEdit%
    OnMessage(0x201, "MoveGui")
    OnMessage(0x200, "GuiTips")
    创建快捷键()
}
MoveGui(){
    PostMessage, 0xA1, 2
}

帮助ahk:
Loop, Read, wd.txt
{
	If (Trim(Clipboard," ") = RegExReplace(A_LoopReadLine, "[()]*<<>>.+"))
		mbUrl := RegExReplace(A_LoopReadLine, "^.+<<>>")
}
If (mbUrl)
{
	mubiao := "C:\AHK\SciTE\中文帮助\AutoHotkey_CN.chm::" mbUrl
	if (WinExist("ahk_class HH Parent"))
		WinClose, ahk_class HH Parent
	run, "hh.exe" "%mubiao%"
	mbUrl := ""
}
Return

预览(){
    Global SaveEdit
    Clipboard := ""
    Send, ^c
    ClipWait, 1
    ControlSetText, , % Clipboard, ahk_id %SaveEdit%
}
_存ahk收藏(){
    Global FileName, SaveEdit, Allstr, CollectPtah
    ControlGetText, FileName, , ahk_id %SaveEdit%
    ListName := (FileName = "") ? "Test" : FileName
    FileAppend, % Allstr, % CollectPtah "\" ListName ".ahk", UTF-8
    run % EditorPath CollectPtah "\" ListName ".ahk"
    Closedc()
}
_存txt收藏(){
    Global FileName, SaveEdit, Allstr, CollectPtah
    ControlGetText, FileName, , ahk_id %SaveEdit%
    ListName := (FileName = "") ? "Test" : FileName
    FileAppend, % Allstr, % CollectPtah "\" ListName ".txt", UTF-8
    run % EditorPath CollectPtah "\" ListName ".txt"
    Closedc()
}
Closedc(){
    Global Allstr
    Gui dcmain:  Destroy
    Allstr := ""

}
_获取首行(){
    Global SaveEdit, Allstr
    Firstline := RegExReplace(RegExReplace(RegExReplace(Allstr, "[\r\n]+", "`n"), "^(.+?\n)(.+$)", "$1"), "[\\/:?*""|<>(){} \r;\n]")
        ControlSetText, , % Firstline, ahk_id %SaveEdit%
    }
    创建快捷键(){
        Global SaveEdit
        ; #If WinActive("ahk_id" SaveEdit)
        ; hotkey, 1, 预览
        ; hotkey, 2, _存AHK收藏
        ; hotkey, 3,_存txt收藏
        ; hotkey, 4,_看下效果
        ; hotkey, 5,Settings
        ; hotkey, 6,app
        ; hotkey, 7,option1
        ; hotkey, 8,cikuManager1
        ; hotkey, z,_造词
        ; hotkey, h,帮助ahk
        ; hotkey, q,_不想看了
        ; #If
        }
    DoublePress(GoFunc := ""){
        static pressed1 = 0
        if (pressed1 and A_TimeSincePriorHotkey <= 500){
            pressed1 = 0
            SetTimer, %GoFunc%, -10
        }
        else {
            pressed1 = 1
        }
    }
    _看下效果(){
        Global Allstr
        Exec(Allstr, 1)
        return
    }
    _不想看了(){
        Exec("", 1)
        Gui dcmain:  Destroy

    }

    ; ==================================================================================
    ; dbgba 的新建进程 
    ; ==================================================================================
    Exec(s, flag="Default") {
        SetBatchLines, -1
        SetWorkingDir %A_ScriptDir%
        DetectHiddenWindows, On
        WinGet, NewPID, PID, <<ExecNew%flag%>> ahk_class AutoHotkeyGUI
        PostMessage, 0x111, 65307,,, %A_ScriptDir%\* ahk_pid %NewPID%
        add=`nflag=<<ExecNew%flag%>>`n
        (%
            Gui, Gui_Flag_Gui: Show, Hide, %flag%
            DllCall("RegisterShellHookWindow", "Ptr", A_ScriptHwnd)
            OnMessage(DllCall("RegisterWindowMessage", "Str", "ShellHook"), "ShellEvent")
            ShellEvent(wParam, lParam) {
                DetectHiddenWindows, On
                if !WinExist("HostProcessName")
                    ExitApp
            }
        )
        s:=add "`n" s "`nExitApp"
        s:=RegExReplace(s, "HostProcessName", "ahk_pid "DllCall("GetCurrentProcessId"))
        exec := ComObjCreate("WScript.Shell").Exec(A_AhkPath " /ErrorStdOut /f *")
        exec.StdIn.Write(s)
        exec.StdIn.Close()
    }







声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA捐赠
共{{data.count}}人
人已捐赠
其他

全能ahk维修鼠标小助手

2022-8-14 11:29:52

其他函数案例

Matplotlib尝试

2022-8-15 20:02:42

8 条回复 A文章作者 M管理员
  1. hexuren

    影子内置的有剪贴板功能,最好集成到一起

  2. hexuren
    1河许人给您打赏了¥2
    • 而今迈步从头越

      后续可能看情况整合一下,剪切板想做一个专门的增强gui的,强化一下让影子可以简单完成类似专业剪切板工具能做的事情,剪切板工具相当于是按了复制键后的结果,而这个工具是聚焦于按键的这个时刻,在这个时刻呼出的工具

  3. 蜜獾哥

    新影子有望了,恭喜成功接下重担!加油

  4. 僵尸牌木乃伊
    僵尸牌木乃伊给您打赏了¥10
  5. ahk小明

    Error: Call to nonexistent function. Specifically: class_EasyIni(“DoubleCopyMenu.ini”,初始) class_EasyIni这个好像没有定义,无法运行

    • 而今迈步从头越

      或者你看一下我发布的影子H的文章上面有敢死队(测试)版本影子的gitee链接.我这个改了好多地方只拿几段代码用不了..

个人中心
购物车
优惠劵
有新私信 私信列表
搜索