Usage: tcshell2 /path/to/filename
ULinkProcess.pas
procedure TryToLocateFileInTC(fullpath: string);
var
htcmd: HWND; //the HWND of Total Commander
pbuf: PChar;
function FindFileListBox(var idx: Integer): HWND;
var
title: array[0..1024] of char;
hlist: HWND;
count, row, len: integer;
basename: string;
begin
Result := 0;
idx := -1;
basename := ExtractFileName(fullpath);
hlist := FindWindowEx(htcmd, 0, 'TMyListBox', nil);
while (hlist<>0) do
begin
GetWindowText(hlist, title, 1024);
if StrLen(title)=0 then
begin
count := SendMessage(hlist, LB_GETCOUNT, 0, 0);
for row := 0 to count-1 do
begin
len := SendMessage(hlist, LB_GETTEXTLEN, row, 0);
GetMem(pbuf, len+1);
try
if LB_ERR<>SendMessage(hlist, LB_GETTEXT, row, Integer(pbuf)) then
if SameText(basename, Copy(StrPas(pbuf), 0, Length(basename))) then
begin
idx := row;
Result := hlist;
exit;
end;
finally
Dispose(pbuf);
end;
end;
end;
//try next listbox
hlist := FindWindowEx(htcmd, hlist, 'TMyListBox', nil);
end;
end;
var
idx, row: Integer;
hlistbox: HWND;
title: array[0..1024] of char;
begin
//don't bother with directory
if DirectoryExists(fullpath) then exit;
htcmd := FindWindow('TTOTAL_CMD', nil);
if (0=htcmd) then exit;
GetWindowText(htcmd, title, 1024);
idx := -1;
hlistbox := FindFileListBox(idx);
if (hlistbox=0) or (idx<0) then exit;
AppActivate(title);
//FIXME: the key can only be sent to the source list, not the target list
// so it won't work, if '/S /R' used to invoke TC,
SendKeys('{HOME}', true);
for row := 0 to idx-1 do
SendKeys('{DOWN}', true);
end;
分享到:
相关推荐
赠送jar包:junit-platform-launcher-1.8.0-M1.jar; 赠送原API文档:junit-platform-launcher-1.8.0-M1-javadoc.jar; 赠送源代码:junit-platform-launcher-1.8.0-M1-sources.jar; 赠送Maven依赖信息文件:junit-...
2. **Activity和Intent**:Launcher3as作为主界面,它是一个`Activity`实例,负责响应用户交互。理解`Activity`的生命周期、启动模式以及如何通过`Intent`在不同`Activity`间跳转是Android开发的基础。 3. **View和...
2. **Android Studio配置**:在AS中,需要配置AOSP项目。这包括设置正确的构建变量,如SDK路径、NDK路径以及AOSP源码路径。 3. **构建与导入**:导入源码到AS后,使用AS的Gradle构建工具编译项目。在编译过程中,...
《深入剖析Android Launcher2源码》 Android的Launcher2是系统桌面的核心组件,它负责管理应用程序的快捷方式、小部件以及主屏幕布局。对于想要深入理解Android系统运行机制的开发者而言,研究Launcher2的源码至关...
在Android操作系统中,Launcher2是默认的主屏幕应用,它为用户提供了一个界面来启动其他应用程序、管理桌面快捷方式和小部件。本篇文章将深入探讨如何实现Android系统的Launcher2,以及其核心功能和工作原理。 首先...
"Launcher2 AndroidStudio" 是一个基于Android Studio的项目,它主要关注的是Android系统中的默认启动器——Launcher2的源码分析和开发。这个项目允许开发者深入理解Android系统的启动器工作原理,并提供了一个平台...
《深入剖析Android 4.0 Launcher2》 在Android操作系统中,Launcher是用户与系统交互的门户,它作为主屏幕,提供了应用快捷方式、小部件和桌面布局等功能。在Android 4.0(Ice Cream Sandwich,简称ICS)版本中,...
"Launcher2源代码"是指Android系统中默认的主屏幕应用的源码,它负责管理桌面图标、小部件和应用启动。这个源代码是开源的,允许开发者深入理解Android系统的启动器工作原理,并对其进行定制和优化。适配好的...
"Android桌面Launcher2"是Android 2.2版本的源代码,主要负责手机或平板设备的主屏幕功能,用户可以通过它来启动应用、管理桌面快捷方式以及自定义桌面布局。这个资源提供了完整的代码,允许开发者深入理解Android...
**Android Launcher2详解** 在Android系统中,Launcher是用户与设备交互的第一道窗口,它扮演着桌面的角色,负责展示应用图标、小部件以及管理主屏幕。`Launcher2`是Android早期版本中的默认启动器,虽然在后来的...
**Android 11 Launcher3 深度解析** Android 11中的Launcher3是系统启动器的主要组件,它是用户与设备交互的门户,负责显示应用图标、桌面壁纸、小部件等。Launcher3不仅承担着应用启动的任务,还管理着用户的主...
meizu 的launcher2 美化修改过的
【Android 4.0 Launcher2 源码 Eclipse版】是一个专门为Android 4.0 (Ice Cream Sandwich)系统设计的启动器源代码,适合开发者深入理解Android系统的桌面启动器工作原理,以及进行自定义开发。这个源代码版本是为...
系统重装后的pip 原为win7旗舰版的系统,升级固态后换成win10系统,可以...Fatal error in launcher: Unable to create process using '"e:\users\administrator\appdata\local\programs\python\python37\python.exe"
python终端用pip list出现这个错误Fatal error in launcher: 只要终端用到pip的东西,都在前面加python -m,比如python -m pip list 好了,完美解决! 补充知识:python安装exe打包库命令pip install pyinstaller...
《深入理解Android Launcher2:源码解析与运行机制》 Android系统的核心组件之一是Launcher,它是用户与系统交互的门户,而Launcher2则是Android 2.1至2.3版本中的默认启动器。本篇文章将深入探讨Launcher2的源码,...
在Eclipse中编译运行Android4.3应用源码:Launcher2源码包。详细请参阅在Eclipse中编译运行Android4.3应用源码——Launcher2和Gallery2 http://blog.csdn.net/klpchan/article/details/11843295
"基于Android 4.0.3的Launcher2修改"是一个针对Android系统启动器的自定义开发项目,旨在改进默认的用户界面和功能。在Android 4.0.3(冰淇淋三明治)版本中,Launcher2是原生的桌面应用,负责管理应用程序图标、小...
Android 4.2.1 Launcher2 是Android操作系统中的主屏幕应用程序,它负责提供用户界面,让用户可以启动应用、管理桌面小部件以及个性化设备。在这个版本中,Launcher2进行了诸多优化和改进,为用户提供更加流畅和高效...