Windows 8 đang mất các tùy chọn trong menu Mở rộng với Chế độ ăn liền sau khi thay đổi liên kết tệp


18

Khi tôi đặt chương trình để mở một loại tệp cụ thể theo mặc định, nó sẽ hoạt động (như Word 2013 cho các tệp PDF). Tuy nhiên, khi tôi thay đổi mặc định trở lại trình đọc, tôi mất Word dưới dạng tùy chọn mà tôi có thể chọn trong open withmenu phụ.

Làm thế nào tôi có thể làm cho nó dính?

Dường như có điều gì đó đặc biệt về Word. Thêm Notepad ++ làm mặc định và sau đó thay đổi lại dường như giữ Notepad ++ trên menu phụ.

Phiên bản Word là 2013.

Trong trường hợp không rõ ràng, tôi đang sử dụng phiên bản RTM (không phải bản xem trước).


Bạn đã thử "Liên kết loại tệp hoặc giao thức với chương trình" từ bảng điều khiển thông qua "Chương trình mặc định" chưa?
avirk

@avirk Giả sử rằng bạn có nghĩa là chỉ đặt nó làm mặc định, nó hoạt động (nhưng không phải là điều gì sai). Thay đổi trở lại mặc định sẽ loại bỏ Word dưới dạng tùy chọn
soandos

Tôi nghĩ rằng nó sẽ có giá trị để cung cấp cho nó một shot.
avirk

bạn đã kiểm tra rằng giá trị được chèn vào sổ đăng ký tại đường dẫn HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.docx\OpenWithList. Cần có một danh sách các chương trình mà bạn liên kết cho .docx hoặc bất kỳ tiện ích mở rộng nào bạn muốn kiểm tra.
avirk

@avirk Rất lạ. Nó ở đó (như chrome, cũng không hiển thị trong danh sách) nhưng chương trình mặc định để mở nó (trình đọc) không được liệt kê
soandos

Câu trả lời:


4

Up là gì!?

Xin chào. Tôi yêu nó khi ai đó nói;

"[...] làm thế nào để gỡ lỗi nó?"

Tôi thực sự không có cài đặt cài đặt Windows 8 và tôi cũng chưa chơi cài đặt Windows 8, vì vậy tôi sẽ giả sử rằng có một số điểm tương đồng cơ bản với các phiên bản trước. Tôi sẽ cố gắng đưa ra các giả định khi tôi thực hiện chúng.

Gọi các bức ảnh

Tôi đoán, dựa trên mô tả của bạn về vấn đề, là hệ thống không ghi lại các mục thích hợp trong sổ đăng ký để khi bạn chạy "mở" sau khi thực hiện "mở bằng ...", bạn sẽ thấy ứng dụng mà bạn thấy chọn lần trước.

Tôi sẽ hướng dẫn bạn về vấn đề của bạn và chứng minh hoặc bác bỏ dự đoán ban đầu của tôi. Nếu bạn không cần tất cả sự dài dòng của tôi bên dưới, bạn có thể bỏ qua / quét xuống phần Recon nơi chúng tôi bắt đầu cố gắng khám phá vấn đề.

Sửa chữa nhanh chóng

Trước khi chúng tôi đi vào các bước liên quan hơn được mô tả bên dưới, trước tiên bạn nên điều tra giao diện Chương trình mặc định được tìm thấy trong Bảng điều khiển . Bạn có thể nhận được một hiệu ứng tương tự thông qua menu "mở bằng ...", nhưng bạn đã nói rằng nó không hiệu quả với bạn. ** Đảm bảo rằng bạn đang đặt hộp kiểm cho biết ghi nhớ cài đặt của bạn là ứng dụng mặc định cho bất kỳ ứng dụng nào bạn đã chọn.

Trong giao diện Chương trình mặc định trong Bảng điều khiển, có thể có các tùy chọn để bạn "đặt lại mặc định" hoặc hoàn nguyên về phiên bản trước. Bạn có thể xem xét các tùy chọn khác nhau này để xem liệu chúng có giải quyết được vấn đề của bạn không. Làm những điều này đầu tiên, bởi vì chúng sẽ là bản sửa lỗi dễ nhất. Nếu chúng không hoạt động thì bạn nên tiếp tục với các tùy chọn bên dưới.


Giả định

Đây là những giả định mà tôi thấy trước. Nếu bất kỳ ai trong số họ rời khỏi cơ sở, xin vui lòng cho tôi biết và nếu tôi phải làm, tôi sẽ dành thời gian để thiết lập cài đặt Windows 8.

Cơ quan đăng ký

Tôi nghĩ rằng giả định lớn nhất mà tôi đưa ra là HĐH vẫn sử dụng sổ đăng ký và đối với những nơi tôi đưa ra ví dụ Tôi giả sử rằng bố cục / cấu trúc thư mục đăng ký trong Windows 8 cũng tương tự như các phiên bản trước.

Cmd.exe

Cá nhân, tôi thường thích một dấu nhắc lệnh nên có lẽ tôi sẽ mô tả các bước trong ngữ cảnh của phiên cuối. Tôi giả sử rằng Windows 8 vẫn có cmd.exe ; Tôi thực sự ngạc nhiên nếu nó không.

Đăng ký biên tập

Nếu có một sổ đăng ký, thì có lẽ có một công cụ để xem / chỉnh sửa sổ đăng ký. Tôi sẽ giả sử rằng tên của GUI và các công cụ dòng lệnh giống như trong các phiên bản trước.

Đặc quyền người dùng

Tôi sẽ giả định rằng các cách để gọi shell với các đặc quyền nâng cao tương tự như các phiên bản trước của HĐH mà bạn sẽ biết phải làm gì. Nếu tôi không ở đây, chỉ cần hỏi tôi một số chi tiết và tôi sẽ làm những gì tôi có thể.

SysIternals Suite

Tôi sẽ vô cùng thất vọng nếu những thứ này không có sẵn trong Windows 8. Tôi không thể tin rằng chúng sẽ không khả dụng vì chúng rất cơ bản đối với các chu trình phát triển / QA mà Microsoft và các nhà phát triển bên thứ ba trải qua.

WinDbg.exe, DDK và SDK

Tôi giả sử rằng bạn chưa cài đặt chúng. Đó là tốt. Chúng tôi có thể có thể giải quyết vấn đề mà không cần những công cụ nặng nhọc đó. Đi qua phần Recon trước và nếu bạn cần (hoặc chỉ muốn) đi sâu hơn, sau đó sẽ nói về các công cụ này.

Recon

Luôn cố gắng hoàn thành nhiệm vụ của bạn bằng các phương tiện đơn giản nhất có thể trước tiên. Bắt đầu với Windows Debugger sẽ là quá mức cần thiết cho điểm bắt đầu và sẽ khó khăn hơn một chút để phát hiện ra phần / chuỗi sự kiện có liên quan.

Nếu bạn chưa tải xuống và cài đặt SysIternals Suite , thì bạn nên làm điều đó ngay bây giờ. Ít nhất bạn sẽ cần Process ExplorerProcess Monitor cho những lần thử đầu tiên để phát hiện ra điều gì sai. Cả hai công cụ này đều là một phần của bộ phần mềm mà bạn có thể tải xuống dưới dạng tệp * .zip, nhưng nếu bạn có kết nối mạng kém thì bạn có thể chọn tải xuống hai công cụ riêng lẻ để hoàn thành nhanh hơn.

Giải nén bộ / công cụ đến một nơi thích hợp trên hệ thống của bạn (phần lớn là sở thích cá nhân của bạn). Nếu bạn đang sử dụng tiện ích giải nén Windows mặc định, thì bạn sẽ muốn xóa tệp Vùng trước khi giải nén tệp lưu trữ. Tệp vùng là cách hệ điều hành biết "tệp này đã được tải xuống từ Internet [...] chạy ở hộp rủi ro của riêng bạn [...] bỏ chọn thành [...]". Tôi chắc chắn bạn đã thấy một tin nhắn tương tự như trong hộp bật lên trước đó. Thường có một hộp kiểm nhỏ ở phía dưới bên trái của cửa sổ bật lên sẽ ghi nhớ quyết định của bạn về phía trước nếu bạn chuyển nó một lần.

Một cách khác để xem hộp kiểm đó là nhấp chuột phải -> Thuộc tính trên tệp bạn đã tải xuống. Hộp kiểm phải ở dưới cùng của tab Chung . Việc bỏ qua hộp kiểm đó một lần sẽ xóa tệp vùng khỏi tệp nhị phân (như một ghi chú bên cạnh, tệp vùng được lưu trữ trong luồng dữ liệu thay thế của tệp nhị phân được đề cập - nhưng đó là một cuộc thảo luận khác. Hiện tại, chỉ cần sử dụng cửa sổ bật lên hoặc giao diện thuộc tính tệp để thao tác các tệp vùng .

Đảm bảo bạn xóa tệp vùng khỏi kho lưu trữ * .zip trước khi giải nén tệp bằng công cụ zip mặc định của Windows. Nếu bạn không xóa nó khỏi tệp * .zip thì tiện ích ZIP sẽ đánh dấu mỗi tệp được giải nén bằng một tệp vùng và sau đó sẽ rất khó để có được cửa sổ bật lên cho bao giờ nhị phân bạn chạy trong bộ.

Có hai công cụ mà chúng tôi sẽ bắt đầu với: * Process Explorer (procexp.exe) * Process Monitor (procmon.exe)

Bạn có thể tham khảo tệp * .chm tương ứng nếu bạn muốn tìm hiểu thêm về chúng. Chúng tôi sẽ bắt đầu với Process Explorer và nếu chúng tôi không thể nhanh chóng phát hiện ra sự cố thì chúng tôi sẽ chuyển sang Trình giám sát quy trình (liên quan nhiều hơn để chạy) và nếu chúng tôi vẫn không thể giải quyết vấn đề thì chúng tôi sẽ nói chuyện về việc rút ra những khẩu súng lớn. Mặc dù vậy, thực tế là tôi thường tìm thấy những gì tôi cần biết trong giai đoạn điều chỉnh và không cần phải khởi động trình gỡ lỗi.

Bối cảnh và sự hiểu biết

Sổ đăng ký là nơi hệ thống lưu trữ các ánh xạ liên quan đến phần mở rộng tệp với các ứng dụng biết cách xử lý chúng. Ví dụ: bạn có thể sử dụng ftypePGS của các công cụ dòng lệnh để xem / thao tác ánh xạ cho các phần mở rộng cho các ứng dụng.

Để xem kiểu tệp được liên kết với phần mở rộng ".txt" thực hiện lệnh sau từ thiết bị đầu cuối.

$> assoc .txt
.txt=txtfile

Điều này chỉ ra rằng phần mở rộng tệp .txt được gán cho lớp kiểu tệp txtfile . Sau đó, để xem ứng dụng được liên kết với lớp txtfile , hãy thực hiện lệnh

$> ftype txtfile
txtfile=%SystemRoot%\system32\notepad.exe %1

Các công cụ này chỉ đọc các thiết lập đăng ký cho hệ thống. Bạn có thể tự xem chúng bằng một công cụ như reg.exe mà bạn sẽ thực thi từ thiết bị đầu cuối hoặc hầu hết mọi người sẽ thích trình soạn thảo đăng ký GUI regedit.exe . Tại vị trí đó, bạn sẽ thấy một số tiện ích mở rộng, lớp filetype và các hiệp hội ứng dụng mà bạn chỉ cần tìm trong tổ hợp HKEY_CLASSES_ROOT. Ngay dưới tổ ong đó, bạn sẽ tìm thấy một khóa cho cả ".txt", cũng như "txtfile" và tất nhiên, nhiều hơn thế nữa.

Dưới đây là một số ví dụ khác về việc sử dụng các tiện ích PGSftype .


Hãy chắc chắn rằng bạn đang cho ăn phần mở rộng để PGS . Tôi nghĩ bạn đã biết điều này, nhưng để rõ ràng phần mở rộng tệp là "dấu chấm theo sau 3 hoặc 4 ký tự" chấm dứt tên tệp. Ví dụ: application.exe , document.txt hoặc Presentaion.ppt. Các assoc tiện ích hy vọng bạn để cung cấp "" và các ký tự 3/4 như tham số của nó.

$> assoc .exe
.exe=exefile
$> assoc .txt
.txt=txtfile

Riêng biệt và khác biệt với phần mở rộng tập tinloại tập tin . Nhiều phần mở rộng tệp có thể được nhóm thành một loại tệp duy nhất . Xem xét cách ánh xạ ".html" và ".htm" vào cùng một kiểu tệp; đó là "htmlfile". Ví dụ dưới đây cố gắng chứng minh điểm này hơn nữa.

$> assoc .html
.exe=htmlfile
$> assoc .htm
.txt=htmlfile
$> ftype htmlfile
htmlfile="C:\Program Files (x86)\Internet Explorer\iexplorer.exe" -nohome

Hơn nữa, lưu ý rằng sổ đăng ký chứa các khóa sau trong tổ ong HKEY_CLASSES_ROOT.

  • HKCR.html
  • HKCR.htm
  • HKCR \ htmlfile

Nếu có một cách thuận tiện để bạn tải lên / đính kèm / chia sẻ tệp txt thì hãy chạy các lệnh sau và tôi sẽ xem xét kết quả đầu ra mà chúng tạo ra.

$> cd \somewhere\easy\for\you\to\find\
$> assoc > extension_associations.txt
$> ftype > filetype_handlers.txt

Bây giờ bạn có thể mở các thư mục mà bạn đã viết các tệp đó vào và chia sẻ chúng. Các lệnh sau cũng sẽ mở các tệp (nếu bạn dường như có thể tìm thấy các tệp bạn đã tạo).

$> notepad \somewhere\easy\for\you\to\find\extension_associations.txt
$> notepad \somewhere\easy\for\you\to\find\filetype_handlers.txt

Nếu bạn không thể chia sẻ toàn bộ tệp * .txt với tôi, thì ít nhất hãy chạy hai lệnh này và chỉ cần đưa kết quả của chúng vào bình luận.

$> assoc .txt
.txt=textfile
$> ftype textfile
textfile="C:\Program Files (x86)\Notepad++\notepad++.exe" "%1"

Nếu bạn không thấy bất cứ điều gì ở đó thì bạn nên bắt đầu bằng cách đặt nó vào một cái gì đó. Đảm bảo bạn có các đặc quyền nâng cao (nghĩa là đặc quyền của quản trị viên) khi bạn thực hiện các thay đổi đó, nếu không chúng có thể sẽ không hoạt động như bạn mong đợi.

Trình khám phá quy trình

TODO nếu cần

Giám sát quá trình

TODO nếu cần

Cài đặt môi trường gỡ lỗi Windows


Ba điều: 1) cảm ơn vì câu trả lời dài. 2) Tôi nghĩ có một cái gì đó khác đang diễn ra, vì ftype nói rằng không có gì liên quan đến bất kỳ phần mở rộng nào mà tôi ném vào nó. 3) Chương trình mà tôi muốn liên kết là Word 2013, đây là một dịch vụ, không phải là exe per se (hoặc nếu có, tôi không biết nó ở đâu, trình quản lý tác vụ hiển thị một dịch vụ đang chạy). Có suy nghĩ gì không?
soandos

Không vấn đề gì. Hãy chắc chắn rằng bạn đang cho ăn phần mở rộng để PGS . Tôi nghĩ rằng bạn đã biết điều này, nhưng để rõ ràng các phần mở rộng tệp là "dấu chấm theo sau 3 hoặc 4 ký tự" chấm dứt tên tệp. Ví dụ: application.exe , document.txt hoặc Presentaion.ppt. Các assoc tiện ích hy vọng bạn để cung cấp "" và các ký tự 3/4 như tham số của nó. $> assoc .exe .exe = exefile $>
assoc

ftype .txt đưa ra "Loại tệp '.txt' không tìm thấy hoặc không có lệnh mở liên quan đến nó." ví dụ
soandos

Truyền phần mở rộng tệp cho tiện ích ftypekhông chính xác . Dành một chút thời gian để xem xét và thực sự tạo ra bản thân để cải thiện tình hình của bạn, các lệnh ví dụ mà tôi đã viết trong phần "CẬP NHẬT" cho bài viết gốc. Sau khi làm điều đó, hãy tự hỏi mình câu hỏi này "Sự khác biệt giữa loại tệpphần mở rộng tệp là gì? Nếu bạn không biết đọc qua ví dụ của tôi lần thứ hai. Nếu vẫn không có ý nghĩa, thì chúng tôi sẽ thử một cách tiếp cận khác.
GuyHoozdis

Windows không có thiết bị đầu cuối. Nó có Dấu nhắc lệnh và các lệnh không bắt đầu bằng $ giống như trên các hệ thống Unix.
Elmo

1

Trình chỉnh sửa chương trình mặc định có thể chỉnh sửa danh sách 'Mở bằng ...' trên Windows 8:

File Type settings-> Change 'Open with' programs-> Chọn loại tệp

trình chỉnh sửa chương trình mặc định mở với danh sách

Thêm bất cứ chương trình nào bạn muốn 'dính' và nhấp vào Lưu.

Lưu ý: trong phiên bản hiện tại, các ứng dụng máy tính để bàn thông thường hiển thị ở đây, vì vậy không có cách nào để thêm / xóa ứng dụng Metro. Nhưng nó vẫn nên giải quyết câu hỏi của bạn.


Bạn có nhớ dán ảnh chụp màn hình trước khi này? Tôi không thể tìm thấy hộp thoại này
soandos

@soandos nó là một siêu liên kết ở góc dưới bên trái của màn hình cài đặt Loại tệp
Yếu tố huyền bí

Tôi là một thằng ngốc, tôi đã không thấy liên kết tải xuống
soandos

Làm cách nào để thêm từ 2013? Đây là một dịch vụ, không phải là dịch vụ thực thi
soandos

@soandos Nó vẫn được cài đặt vào ổ cứng của bạn. Đối với tôi Word được cài đặt thànhC:\Program Files\Microsoft Office 15\root\office15\winword.exe
Nhân tố huyền bí

0

Thực hiện mở với -> Chọn chương trình mặc định . Khi cửa sổ mở ra, bỏ chọn "Sử dụng ứng dụng này cho tất cả các tệp .pdf và chọn Word để mở. Nếu nó không có trong danh sách, hãy sử dụng liên kết" Tìm ứng dụng khác trên PC này "ở cuối danh sách.

Khi bạn mở tệp PDF bằng Word, nhưng không đặt nó làm chương trình mặc định, nó sẽ hiển thị trong menu ngữ cảnh "mở bằng" vào lần tiếp theo bạn sử dụng.

Nhập mô tả hình ảnh ở đây


3
Nó không. Đó là câu hỏi của tôi. Tại sao không phải là nó.
soandos

Bạn đang sử dụng RTM W8? Bạn đã đọc hướng dẫn của tôi một cách cẩn thận?
Moab

RTM, và vâng. Tôi đã tạo một chương trình khác theo mặc định, sau đó mở nó bằng từ, sau đó nhìn vào mở bằng menu phụ. Vẫn không có ở đó (Tôi đang nói về menu ngay lập tức, không phải là "Chọn menu mặc định" mà không chọn hộp
soandos

Không chắc chắn những gì sai, hoạt động trên Windows 8 RTM của tôi. Thông tin đó được lưu trữ trong sổ đăng ký, nhiều khả năng là mục nhập MRU.
Moab

Bất kỳ ý tưởng làm thế nào để gỡ lỗi nó?
soandos
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.