StrokesPlus.net教程及脚本(官网和论坛已关闭)

软件名字发下

除了位置窗口大小需不需要调

窗口是中间在鼠标处还是窗口角落在鼠标指针处

感谢回复~就是everything这个软件,大小不用调,窗口左上角在鼠标停留出就行,因为要频繁用搜索然后我把everything窗口设置的小一点搜索结果随手就拖入其他软件了,我现在使用手势模拟按键win+数字调出窗口,本来想用步骤解决,但是搞不清怎样把鼠标位置传送到窗口位置那个步骤上

改下Everything路径,里面双\\,设置调整的窗口大小Ewid,Ehei

var wnd = sp.WindowsFromTitlePartial("Everything");
var Ewid = 780;
var Ehei = 300;

if(wnd.Count() === 0) {
    sp.RunOrActivate('C:\\Users\\Administrator\\Downloads\\Everything_v1.4.1.1005_Lite_Final.exe');

    sp.Sleep(500); 
    var currentMouseLocation = sp.GetCurrentMousePoint();
    var wnd1 = sp.WindowsFromTitlePartial("Everything");
    wnd1.First().Location = currentMouseLocation;

    var mouseWnd = sp.WindowFromPoint(currentMouseLocation, true);
    var wndSize = mouseWnd.Size; //returns .NET Size struct
    if(wndSize.Width > 780 || wndSize.Height > 650) {
       mouseWnd.Size = new Size(Ewid, Ehei);
    }
} else {
    wnd.First().Activate();
    wnd.First().BringToFront();

    //sp.Sleep(50); 
    var currentMouseLocation = sp.GetCurrentMousePoint();
    var wnd1 = sp.WindowsFromTitlePartial("Everything");
    wnd1.First().Location = currentMouseLocation;

    var mouseWnd = sp.WindowFromPoint(currentMouseLocation, true);
    var wndSize = mouseWnd.Size; //returns .NET Size struct
    if(wndSize.Width > 780 || wndSize.Height > 650) {
       mouseWnd.Size = new Size(Ewid, Ehei);
    }
}

感谢感谢,我刚才设置好了,很好用,是我想要的效果
不过还有个问题是,我用的双屏,另外一个屏开了另一份everything用来实时显示今日文件,那个窗口是未知不变的,这样的话只能是最近使用的这个ev窗口会生效,
如果我想改成win+数字键激活窗口要怎么改一下,
RunOrActivate(‘C:\Users\Administrator\Downloads\Everything_v1.4.1.1005_Lite_Final.exe’);这一句能不能改成输出按键

,完了完了,我改的不对,我改的那句激活方式为输出按键不起作用 ::
你能再给改个激活窗口方式为输出按键win+6吗,这种方式适合吗

意思是要通过win 6执行对不 同时也用手势吧

要是这样在上面一排导航快捷键那里添加代码,勾选启动

var wnd = sp.WindowsFromTitlePartial("Everything");
var Ewid = 780;
var Ehei = 300;

if(wnd.Count() === 0) {

    //激活按键方式
    sp.SendModifiedVKeys([vk.LWIN], [vk.VK_6]);
   //激活程序方式
   // sp.RunOrActivate('D:\\Program Files\\Everything\\Everything.exe');
    sp.Sleep(500); 
    var currentMouseLocation = sp.GetCurrentMousePoint();
    var wnd1 = sp.WindowsFromTitlePartial("Everything");
    wnd1.First().Location = currentMouseLocation;

    var mouseWnd = sp.WindowFromPoint(currentMouseLocation, true);
    var wndSize = mouseWnd.Size; //returns .NET Size struct
    if(wndSize.Width > 780 || wndSize.Height > 650) {
       mouseWnd.Size = new Size(Ewid, Ehei);
    }
} else {
    wnd.First().Activate();
    wnd.First().BringToFront();

    //sp.Sleep(50); 
    var currentMouseLocation = sp.GetCurrentMousePoint();
    var wnd1 = sp.WindowsFromTitlePartial("Everything");
    wnd1.First().Location = currentMouseLocation;

    var mouseWnd = sp.WindowFromPoint(currentMouseLocation, true);
    var wndSize = mouseWnd.Size; //returns .NET Size struct
    if(wndSize.Width > 780 || wndSize.Height > 650) {
       mouseWnd.Size = new Size(Ewid, Ehei);
    }
}

我这样不对吧,没起作用

就是用手势输出win6,实现这个鼠标跟随的效果

代码没问题,你试下键盘按键win 6,关闭everything和最小化情况下,能不能激活

手势执行,关闭和最小化分别效果是啥样

关闭主屏幕的everthing后,再按win6后激活的另一个屏幕的everything窗口,
最小化主屏幕的everything,再按手势激活的也是另外一个窗口的

意思是只在主屏幕上手势启动和激活everything窗口对不

我没有设备测试这个功能

看有没有快捷键分别激活2个屏幕的窗口

var columns = 3;
var rows = 3;
var region = sp.GetRegionFromPoint(action.Window.Rectangle, action.Start, columns, rows);

这个设置作用区域的应该能以,但这条要放在什么位置我不知道
原来win10双屏幕扩展显示的坐标是两个屏幕累加的,,主屏幕是1920宽

算了不麻烦了,貌似这个win+数字键并不能分辨这个窗口是在哪个屏幕,双屏幕的坐标是两个屏幕累加的
就这样用吧,还是很不错的,感谢你~

可以试下看下坐标,你新建热键,比如设置ctrl+shift+u

var currpt = sp.GetCurrentMousePoint();
sp.ShowBalloonTip('currpt',`${currpt.X + ' ' + currpt.Y}`,'Info',1000);

看下鼠标分别在2个屏幕的地址栏everything图标位置,要是不一样就好办了


脚本引擎失败

脚本执行失败

SyntaxError: Invalid or unexpected token
at Script [6]:2:19 → sp.ShowBalloonTip(‘currpt’,${currpt},‘Info’,1000);

确定

一个提示

另外我发现不是win6分不清屏幕,因为我原来的简单手势模拟按键win6只会激活主屏幕的窗口,不知道是什么原因了

符号被注释了,再看下坐标

跟手势关系可能不大,试下按键,关闭和最小化效果啥样

如果最小化主屏幕的窗口,按下win6,即使上一次焦点在副屏的窗口上,也会激活主屏的窗口,
如果关闭主屏的窗口,按下win6就激活了副屏的,everything是固定在主屏任务栏的程序位置第六

要是按键也是这样,那跟手势没关系了

看下坐标,还是之前代码

我看不懂你发的测试坐标代码,哪个是注释符号

我改好了,直接复制用