-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
dc73525
commit a0521f0
Showing
9 changed files
with
668 additions
and
137 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,29 @@ | ||
![image](https://github.com/iKineticate/LinkEcho/blob/master/screenshots/app.png) | ||
![image](https://raw.githubusercontent.com/iKineticate/LinkEcho/refs/heads/master/screenshots/app.png) | ||
|
||
# LinkEcho | ||
|
||
这个软件可以获取桌面、开始菜单及其他文件夹的快捷方式属性。它会判断快捷方式是否存在风险,并支持通过选择图标文件夹,根据图标名称匹配快捷方式名称的方法来更换单个快捷方式或所有快捷方式的图标。同时,也可以恢复这些快捷方式的图标为默认图标。 | ||
LinkEcho 可以评估桌面、开始菜单及其他文件夹的快捷方式的安全风险,支持更换单个快捷方式的图标,甚至可以自动更换所有快捷方式的图标。同时,它也支持将这些图标恢复为默认状态。 | ||
|
||
LinkEcho can assess the security risks of shortcuts, allow the replacement of individual shortcut icons, and even automate the icon replacement for all shortcuts. It also supports restoring these icons to their default state and retrieving shortcut properties from the desktop, Start Menu, and other folders. | ||
|
||
--- | ||
|
||
## 功能 | ||
|
||
* 获取快捷方式属性 | ||
* 判断快捷方式风险 | ||
* 更换快捷方式图标 | ||
* 恢复快捷方式图标 | ||
* **安全风险评估**:橙色标记表示该快捷方式可能存在风险(某些木马可能通过向快捷方式写入命令来侵入)。 | ||
* **快捷方式有效性检查**:红色标记表示快捷方式或其某一属性无效。 | ||
* **更换指定快捷方式图标**:更改指定快捷方式的图标。 | ||
* **批量自动更换快捷方式图标**:选择图标目录后,可以根据名称匹配来更换图标,如`Chrome Canary`可自动选择名为`Chrome`的图标;如`悟空`可自动选择名为`黑神话:悟空`的图标 | ||
* **恢复快捷方式图标**:恢复指定或所有快捷方式的图标为默认状态。 | ||
* **获取快捷方式属性**:工作目录、目标路径、启动参数等。 | ||
|
||
## Features | ||
* **Security Risk Assessment**: Orange warning for shortcuts that may pose a risk (some malware may write commands to shortcuts to gain access). | ||
* **Shortcut Validation**: Red marking indicates that a shortcut or one of its properties is invalid. | ||
* **Replace Specific Shortcut Icon**: Change the icon for a designated shortcut. | ||
* **Batch auto change shortcuts icons**: After selecting an icon directory, icons can be replaced based on name matching. For instance, Chrome Canary can automatically select the icon named Chrome, while Edge can also choose the icon named Chrome. | ||
* **Restore Shortcut Icon**: Restore specific or all shortcut icons to default. | ||
|
||
*Windows 终端* 无法可视化图标,如需更丰富的功能(如更换快捷方式图标、选择系统图标),建议使用[AHK-ChangeIcon](https://github.com/iKineticate/AHK-ChangeIcon)。 | ||
|
||
[AHK-ChangeIcon](https://github.com/iKineticate/AHK-ChangeIcon)。 | ||
Note: The Windows terminal cannot display icons. For richer functionality like changing shortcut icons, it is recommended to use [AHK-ChangeIcon](https://github.com/iKineticate/AHK-ChangeIcon). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,183 @@ | ||
_version: 2 | ||
|
||
change.all: | ||
en: Successfully replaced all matched shortcut icons | ||
zh-CN: 已更换所有已匹配的快捷方式图标 | ||
change.all.no: | ||
en: Not all shortcut icons have been replaced | ||
zh-CN: 暂无快捷方式图标被替换 | ||
change.all.failed: | ||
en: Failed to change icons of all shortcuts | ||
zh-CN: 无法更换所有已匹配的快捷方式图标 | ||
|
||
change.one.name: | ||
en: The shortcut icon has been replaced | ||
zh-CN: 已更换该快捷方式图标 | ||
change.one.icon: | ||
en: Icon Name | ||
zh-CN: 图标名称 | ||
change.one.failed: | ||
en: Failed to replace this shortcut icon | ||
zh-CN: 无法替换该快捷方式图标 | ||
|
||
reset.all: | ||
en: Reset all shortcut icon to default | ||
zh-CN: 将所有快捷图标重置为默认 | ||
reset.all.failed: | ||
en: Failed to reset all shortcut icon to default | ||
zh-CN: 无法将所有快捷图标重置为默认 | ||
should.reset.all: | ||
en: Are all shortcuts restored to default? | ||
zh-CN: 是否恢复所有快捷方式为默认图标? | ||
|
||
reset.one: | ||
en: The shortcut's icon has been reset to default | ||
zh-CN: 已将该快捷方式的图标重置为默认 | ||
reset.one.failed: | ||
en: Failed to reset the icon of the shortcut to default | ||
zh-CN: 无法将该快捷方式的图标重置为默认 | ||
should.reset.one: | ||
en: Does it reset this shortcut to default? | ||
zh-CN: 是否将该快捷方式重置为默认? | ||
|
||
should.clear.icon.cache: | ||
en: Does it clear the system icon cache? | ||
zh-CN: 是否清理系统图标缓存? | ||
|
||
open.failed: | ||
en: Failed to open the file | ||
zh-CN: 无法打开文件 | ||
open.failed.icon_parent: | ||
en: Failed to get the directory of the ICON | ||
zh-CN: 无法获取该图标的目录 | ||
|
||
log.non-existent: | ||
en: Log file does not exist and cannot be created | ||
zh-CN: 日志文件不存在且无法被创建 | ||
log.error: | ||
en: Error checking if log file exists | ||
zh-CN: 检查日志文件是否存在出错 | ||
|
||
select.folder: | ||
en: Please select the directory where shortcuts are stored | ||
zh-CN: 请选择存放快捷方式的目录 | ||
|
||
load.failed: | ||
en: Failed to load shortcut from the folder | ||
zh-CN: 无法从该文件夹载入快捷方式 | ||
load.failed.name: | ||
en: Unable to get the directory name | ||
zh-CN: 无法获取该文件夹名称 | ||
|
||
footer: | ||
en: Exit [Q] | Change [C] | Restore [R] | Function [F] | Search [S] | Top/Bottom [T/B] | ||
zh-CN: 退出[Q] | 更换[C] | 恢复[R] | 功能[F] | 搜索[S] | 返回顶部/底部[T/B] | ||
|
||
name: | ||
en: Name | ||
zh-CN: 名称 | ||
|
||
prop: | ||
en: Properties | ||
zh-CN: 属性 | ||
|
||
path: | ||
en: Path | ||
zh-CN: 路径 | ||
|
||
target_ext: | ||
en: 'Target Ext ' | ||
zh-CN: 目标扩展 | ||
|
||
target_dir: | ||
en: 'Working Dir ' | ||
zh-CN: 工作目录 | ||
|
||
target_path: | ||
en: 'Target Path ' | ||
zh-CN: 目标路径 | ||
|
||
icon_path: | ||
en: 'Icon Path ' | ||
zh-CN: 图标路径 | ||
|
||
icon_index: | ||
en: 'Icon Index ' | ||
zh-CN: 图标索引 | ||
|
||
arguments: | ||
en: 'Arguments ' | ||
zh-CN: 运行参数 | ||
|
||
file_size: | ||
en: 'File Size ' | ||
zh-CN: 文件大小 | ||
|
||
created_at: | ||
en: 'Create Time' | ||
zh-CN: 创建时间 | ||
|
||
updated_at: | ||
en: 'Modify Time' | ||
zh-CN: 修改时间 | ||
|
||
accessed_at: | ||
en: 'Access Time' | ||
zh-CN: 访问时间 | ||
|
||
search: | ||
en: Search | ||
zh-CN: 搜索 | ||
|
||
load: | ||
en: Load | ||
zh-CN: 载入 | ||
|
||
load_content: | ||
en: | | ||
Start Menu [S] | ||
Other Directory [O] | ||
All Desktop [D] | ||
zh-CN: | | ||
载入开始菜单快捷方式[S] | ||
载入其他目录快捷方式[O] | ||
载入所有桌面快捷方式[D] | ||
other: | ||
en: Other | ||
zh-CN: 其他 | ||
|
||
other_content: | ||
en: | | ||
Open Log File [L] | ||
Open Icon File [I] | ||
Clean Icon Cache [T] | ||
zh-CN: | | ||
打开记录日志[L] | ||
打开图标目录[I] | ||
清理图标缓存[T] | ||
revise: | ||
en: Revise | ||
zh-CN: 修改 | ||
|
||
revise_content: | ||
en: | | ||
Change All Icons [C] | ||
Restore All Icons [R] | ||
Copy Properties [1~8] | ||
zh-CN: | | ||
更换所有快捷方式图标[C] | ||
恢复所有快捷方式图标[R] | ||
复制该快捷方式属性[1~8] | ||
status: | ||
en: Status | ||
zh-CN: 状态 | ||
|
||
yes_no: | ||
en: Yes [Y] / No [N] | ||
zh-CN: 是[Y] / 否[N] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
use windows::Win32::Globalization::GetSystemDefaultLCID; | ||
pub const ZH: u32 = 0x7804; // Chinese | ||
pub const ZH_HANS: u32 = 0x0004; // Chinese (Simplified) | ||
pub const ZH_CN: u32 = 0x0804; // Chinese (Simplified, China) | ||
pub const ZH_SG: u32 = 0x1004; // Chinese (Simplified, Singapore) | ||
pub const ZH_HANT: u32 = 0x7C04; // Chinese (Traditional) | ||
pub const ZH_HK: u32 = 0x0C04; // Chinese (Traditional, Hong Kong SAR) | ||
pub const ZH_MO: u32 = 0x1404; // Chinese (Traditional, Macao SAR) | ||
pub const ZH_TW: u32 = 0x0404; // Chinese (Traditional, Taiwan) | ||
|
||
pub fn set_locale() { | ||
let sys_lcid = unsafe { GetSystemDefaultLCID() }; | ||
|
||
match sys_lcid { | ||
ZH => rust_i18n::set_locale("zh-CN"), | ||
ZH_CN => rust_i18n::set_locale("zh-CN"), | ||
ZH_HANS => rust_i18n::set_locale("zh-CN"), | ||
ZH_HANT => rust_i18n::set_locale("zh-CN"), | ||
ZH_HK => rust_i18n::set_locale("zh-CN"), | ||
ZH_MO => rust_i18n::set_locale("zh-CN"), | ||
ZH_SG => rust_i18n::set_locale("zh-CN"), | ||
ZH_TW => rust_i18n::set_locale("zh-CN"), | ||
_ => rust_i18n::set_locale("en"), | ||
}; | ||
} |
Oops, something went wrong.