Làm cách nào để ngăn lối tắt Windows cập nhật đường dẫn của nó?


24

Trong khi phát triển sản phẩm của mình, thiết bị thử nghiệm của tôi có một số phiên bản ứng dụng được cài đặt cùng một lúc. Tuy nhiên, để có được các đường dẫn tuyệt đối mà ứng dụng của tôi đang sử dụng để hoạt động, tôi cần phải tắt hoặc đổi tên các thư mục để phiên bản tôi muốn kiểm tra có đường dẫn phù hợp C:\Program Files\My Company\My App\My App.exe. Tôi đã tạo một lối tắt nhắm mục tiêu đường dẫn này, nhưng nếu lối tắt này được mở khi không có phiên bản nào hiện có đường dẫn đó thì lối tắt sẽ tự động cập nhật, nghĩ rằng tệp đã di chuyển vĩnh viễn. Điều này gây ra những thất bại thầm lặng cho đến khi tôi phát hiện ra những gì đang xảy ra. Tôi không biết đây là một tính năng của các phím tắt Windows cho đến bây giờ.

Vì vậy, câu hỏi của tôi rất đơn giản. Có cách nào để tắt tính năng này? Trên toàn cầu là tốt nhưng một giải pháp cho mỗi phím tắt sẽ tốt hơn.

Sử dụng một tệp bó thay vì một phím tắt là một giải pháp, nhưng tôi tự hỏi liệu có cách nào để làm cho công việc này trong khi vẫn sử dụng một phím tắt.

Tôi đang sử dụng Windows 10 Home và Windows 7 Home.


10
Những gì tôi đã làm trong quá khứ là sử dụng một tệp bó ( .bat) với một lệnh đơn giản, ví dụ start "" "C:\path\to\file.exe".
Bob

1
Bạn đã thử tạo một liên kết tượng trưng (sử dụng mklinklệnh) thay vì một .lnktệp thay thế? Hay những người được cập nhật quá?
JAB

1
Các liên kết @JAB không nên được cập nhật, nhưng có những nhược điểm nhất định (yêu cầu quyền riêng tư của quản trị viên, không thể truyền đối số, v.v.). Mặc dù chúng hoạt động tốt nếu chúng không phải là vấn đề.
Bob

3
Tôi nghĩ rằng làm cho các phím tắt chỉ đọc sẽ hoạt động (tôi chắc chắn nó đã từng) nhưng khi thử nghiệm tôi thấy rằng nó không. Điều này là do các phím tắt không được viết lại; mục tiêu được tìm thấy khi phím tắt được chạy. Chỉ cần không ai cố gắng.
Chris H

1
@PetSerAl như tôi đã nói ở trên, điều đó không hiệu quả.
Chris H

Câu trả lời:


13

Bạn có thể sử dụng PowerShell! Kịch bản nhỏ này đánh cắp tệp LNK để tạo ra hiệu ứng tương tự như sử dụng shortcuttiện ích cổ điển .

$linkfile = Resolve-Path $args[0]
$bytes = [IO.File]::ReadAllBytes($linkfile)
$bytes[0x16] = $bytes[0x16] -bor 0x36
[IO.File]::WriteAllBytes($linkfile, $bytes)

Để sử dụng nó, hãy lưu văn bản đó dưới dạng .ps1tệp, vd notrack.ps1. Nếu bạn chưa có, hãy làm theo các hướng dẫn trong phần Kích hoạt tập lệnh của wiki thẻ PowerShell . Sau đó, bạn có thể chạy nó từ lời nhắc PowerShell:

.\notrack.ps1 C:\path\to\my\shortcut.lnk

Các phím tắt được điều chỉnh theo cách này sẽ không thay đổi khi mục tiêu của chúng di chuyển. Nếu một phím tắt như thế này bị hỏng, sẽ không có gì xảy ra khi bạn cố mở nó.

Tôi đã tập hợp toán nhị phân được sử dụng trong tập lệnh của mình từ Microsoft PDF 48 trang này ở định dạng LNK .


25

Dừng và vô hiệu hóa dịch vụ: Máy khách theo dõi liên kết phân tán (TrkWks).

Theo dõi liên kết phân tán theo dõi các liên kết trong các tình huống trong đó liên kết được tạo thành một tệp trên ổ đĩa NTFS, chẳng hạn như các phím tắt shell. Nếu tệp đó được đổi tên, chuyển sang ổ đĩa khác trên cùng một máy tính, chuyển sang máy tính khác hoặc di chuyển trong các tình huống tương tự khác, Windows sử dụng Theo dõi liên kết phân tán để tìm tệp.

Nguồn: Theo dõi liên kết phân tán - Hỗ trợ của Microsoft


Ý tưởng tốt, nhưng đáng chú ý là nó đã không làm việc. Phím tắt vẫn tìm thấy tệp ngay cả khi đường dẫn dài hơn một thư mục.
Kyle Delaney

Bạn có chắc chắn dịch vụ đã dừng lại? Sau khi dừng dịch vụ DLTC, tôi chuyển hoặc đổi tên tệp thực thi. Khi tôi chạy phím tắt, tôi gặp lỗi "Sự cố với Phím tắt" cho biết mục tiêu bị thiếu và nhắc xóa phím tắt.
Steven

10
Chức năng "tìm đúng mục tiêu" có từ loạt Windows 9x và có trước các phiên bản NT của Windows. DLT không tồn tại trên Windows 9x. Điều đó không có nghĩa là DLT không liên quan; Windows sẽ sử dụng DLT nếu điều đó giúp tìm mục tiêu phím tắt.
MSalters

2
@Steven Có, tôi chắc chắn dịch vụ đã bị tắt. Trong Windows 10, tôi đã đi vào Dịch vụ, tìm thấy Máy khách theo dõi liên kết phân tán, nhấp vào nút dừng, khởi động lại máy tính của tôi và kiểm tra lại dịch vụ. Có nút Bắt đầu và dịch vụ không cho biết đang chạy. Các phím tắt vẫn tự cập nhật.
Kyle Delaney

8

Sử dụng shortcut.exelệnh Tùy chọn -s:

shortcut: [-? -h -f -c -r -s] [[-t] target [[-n] name]] [-d working directory]
        [-a Arguments] [-i Iconfile] [-x Icon index] [-u {all|[natdix]}]
        [-l logfile]

  -? -h        This help
  -f           Force overwrite of an existing short cut
  -c           Change existing shortcut
  -s           Make shortcut non tracking (Stupid)
  -r           Resolve broken shortcut
  -t target    Specifies the target of the shortcut
  -n name      Specifies the file name of the shortcut file
  -d directory Specifies the directory name to start the application in
  -a arguments Specifies the arguments passed when the shortcut is used
  -i iconfile  Specifiles the file the icon is in
  -x index     Specifies the index into the icon file
  -u [spec]    Dumps the contents of a shortcut. 'all' is the same as 'natdix'
               but the letters of 'natdix' can be specified to display specific
               fields in the shortcut (repeats allowed, and order followed)
  -l logfile   record error messages in specified file

4
Đáng buồn thay, keyboard.exe không còn có sẵn.
Daniel B

@DanielB Bạn nói đúng, tôi đã quên rằng tôi đã giải cứu key.exe trên một số Phiên bản Windows.
Sunzi

2
@Daniel bạn có biết phiên bản nào của Windows không? Nó có thể hữu ích cho một số người.
gronostaj


4

Bạn có thể kích hoạt GPO sau:

Cấu hình người dùng \ Mẫu quản trị \ Menu bắt đầu và thanh tác vụ \ Không sử dụng phương pháp dựa trên tìm kiếm khi giải quyết các phím tắt trình bao

khoá đăng ký tương ứng: HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoResolveSearch

Cấu hình người dùng \ Mẫu quản trị \ Menu bắt đầu và thanh tác vụ \ Không sử dụng phương pháp dựa trên theo dõi khi giải quyết các phím tắt trình bao

khoá đăng ký tương ứng:

HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoResolveTrack

Cấu hình người dùng \ Mẫu quản trị \ Cấu phần Windows \ File Explorer \ Không theo dõi các phím tắt trong khi chuyển vùng

khoá đăng ký tương ứng: HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\LinkResolveIgnoreLinkInfo


Làm cách nào để kích hoạt GPO? Tôi tìm cấu hình người dùng ở đâu?
Kyle Delaney

trên windows 10, bạn có thể nhấp chuột phải vào nút bắt đầu -> Chạy và viết: gpedit.msc -> nhấp OK, sau đó bạn sẽ có thể tìm thấy cấu hình Người dùng, v.v ... HOẶC bạn có thể tạo các khóa đăng ký mà tôi đã chỉ định ( Loại: DWORD, với giá trị là 1)
Swisstone

Tôi đã có một lỗi. Windows không thể tìm thấy gpedit.msc.
Kyle Delaney

OK, vì vậy bạn phải tạo các khóa thủ công trong sổ đăng ký. Nếu bạn không biết cách thực hiện, tôi đã tạo một tệp .reg mà bạn có thể nhập: pastebin.com/KdPYFwff chỉ cần sao chép-dán nội dung trong một tệp mới phải kết thúc bằng phần mở rộng ".reg" (không phải. txt) và nhấp đúp chuột vào nó
Swisstone

Cảm ơn. Tôi đã làm điều đó, khởi động lại máy tính của tôi và xác minh rằng các khóa đăng ký hiện đã được sử dụng bằng regedit. Các phím tắt vẫn tự cập nhật.
Kyle Delaney
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.