thay thế trình giả lập giao diện điều khiển mặc định trong Windows XP


11

Làm cách nào để thay thế chương trình mặc định cung cấp cửa sổ giao diện điều khiển trong Windows XP?

Tôi biết các chương trình thay thế và tôi có một phím tắt để bắt đầu cmd.exetrong Console2 . Nhưng bây giờ tôi muốn các ứng dụng console khởi động trong Console2 thay vì chương trình console mặc định, ngay cả khi tôi không kiểm soát được chương trình khởi động ứng dụng console. (Tức là chương trình không có giao diện điều khiển bắt đầu consoleapp.exevà thay vào đó tôi không thể thay đổi nó để khởi động Console2, nhưng tôi vẫn muốn ứng dụng được khởi động bên trong phiên bản mới của Console2.)

(Lưu ý rằng tôi muốn thay thế giao diện điều khiển chính nó, có nghĩa là, các cửa sổ, trong đó giao diện điều khiển (tức là chế độ văn bản) các ứng dụng chạy Và tôi phải có khả năng chạy tùy ý, giao diện điều khiển các ứng dụng chưa sửa đổi:. Một thay thế cho một chương trình điều khiển cụ thể như Cmd sẽ không làm tôi tốt chút nào.)

EDIT : Vì vậy, những gì tôi sau là một sự thay thế CSRSS , dẫn đến

OT: Tôi muốn biết khi nào Microsoft sẽ thực hiện một sự thay thế CSRSS phong nha. Không thể điều chỉnh độ rộng của "thiết bị đầu cuối" bằng cách thay đổi kích thước cửa sổ là một trò đùa hoàn chỉnh.

Đi tải ISE đi. (Nó được bao gồm trong Win7 / 2008R2.)

Nhưng theo tôi hiểu thì ISE này là một môi trường cho Powershell , không phải là một trình giả lập giao diện điều khiển chung.


Sự thiếu sót được đề cập trong trích dẫn mới của bạn không áp dụng cho CMD khi nó được chạy bên trong Console2, dù sao đi nữa, IIRC.
paradroid

@ jason404: Có, nhưng nếu bạn bấm đúp vào một tệp bó, chẳng hạn, nó sẽ không mở trong Console2. Các trường hợp như thế này là nơi bạn thực sự có thể cần phải thay thế vỏ dòng lệnh. Tôi nghĩ đó là một câu hỏi hay, +1.
Sasha Chedygov

Có thể "Đính kèm" giao diện điều khiển tiêu chuẩn vào tab mới của trình giả lập giao diện điều khiển phù hợp với bạn? Hướng dẫn đính kèm, ý tôi là.
Maximus

@Maximus Tôi không hiểu những gì bạn đang đề cập đến. Theo giao diện điều khiển của Std, bạn có nghĩa là CSRSS không? Trường hợp đó gắn liền với điều gì?
Gilles

ConEmu có thể đính kèm bất kỳ "bảng điều khiển thực" nào (CSRSS, có) hoặc các ứng dụng GUI đơn giản vào tab của nó. Đính kèm có thể được thực hiện thủ công từ giao diện ConEmu hoặc bằng cách thực hiện lệnh đặc biệt trong bảng điều khiển (nếu có).
Maximus

Câu trả lời:


9

Tôi là tác giả của ConEmu - trình giả lập bảng điều khiển Windows. Một trong những tính năng của nó là ghi vào các bảng điều khiển hiện có hoặc các ứng dụng GUI đơn giản. Vì vậy, sau khi bắt đầu chương trình bảng điều khiển trong bảng điều khiển tiêu chuẩn (CSRSS / Conhost), bạn có thể:

  • Trong menu hệ thống ConEmu, chọn mục "Đính kèm ..." ( Win+ Gtheo mặc định) và chọn cửa sổ đính kèm. Nếu ConEmu chưa được khởi động, bạn có thể tùy ý khởi động nó mà không cần tạo bàn điều khiển / tab khi khởi động:

    C:\Tools\ConEmu.exe /detached
    
  • Hoặc, nếu có thể, hãy chạy trong bảng điều khiển đã khởi động, lệnh sau (ConEmu \ Attach.cmd) bắt đầu đính kèm từ phía bảng điều khiển. Lưu ý, trong trường hợp đó, ConEmu.exe (GUI) sẽ được khởi động tự động, nếu chưa tồn tại.

    ConEmuC.exe /ATTACH /NOCMD
    
  • Có một cách nữa. Tôi nghĩ rằng nó không phù hợp với yêu cầu của bạn, tuy nhiên tôi sẽ tiết lộ nó. Có một khóa trong sổ đăng ký, nội dung cmd / tcc thực thi sau khi khởi động bàn điều khiển. Trong khi bạn đang bắt đầu consoleapp.exe, không cmd.exe, điều này bỏ lỡ. Có Cmd_Autorun.cmdtập tin trong ConEmu distrib để cài đặt / gỡ cài đặt lệnh này.

    [HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
    "AutoRun"="\"<Command to be executed>\"" 
    

Có một thẻ ở đây, trên Superuser.com

CẬP NHẬT . Build 120704. Chế độ đính kèm không xâm lấn thay thế cho các cửa sổ giao diện điều khiển.

ConEmu đính kèm hộp thoại giao diện điều khiển bên ngoài

CẬP NHẬT2 . Build 121128. Chẳng hạn, có thể chặn "tạo cửa sổ giao diện điều khiển" từ các ứng dụng được chỉ định (bởi người dùng) explorer.exe,vcexpress.exe. Tìm hiểu thêm về tính năng thử nghiệm xâm nhập này .


Có vẻ đầy hứa hẹn, nhưng nó không hoạt động đối với tôi (tôi cho rằng nó có thể làm việc cho người khác). Khi tôi cố gắng đính kèm consoleapp.exe, tôi nhận được tin nhắn ConEmuC.X, PID=5656 Injecting remote into PID=5432 FAILED, code=-111:0x00000057. Vì đây consoleapp.exelà một chương trình tôi đang gỡ lỗi, việc nhìn thấy việc tiêm chích từ xa, khiến tôi nghi ngờ rằng kỹ thuật được sử dụng bởi ConEmu sẽ không bao giờ có hiệu quả đối với tôi - Tôi không thể cho phép các chương trình của người nước ngoài làm phiền chương trình Tôi đang gỡ lỗi.
Gilles

Hãy thử xây dựng 120704. Có thể chế độ thay thế sẽ phù hợp với bạn.
Maximus

Xây dựng 120704 với chế độ thay thế hoạt động, cảm ơn. Nếu tôi không thể thay thế trình giả lập giao diện điều khiển mặc định, việc gắn vào trình giả lập tốt hơn sau khi ứng dụng được khởi động sẽ tốt hơn là không có gì. Tôi không thể tìm ra làm thế nào trong một lần nhấn phím .
Gilles

@Maximus: Tôi không thể không khen ngợi công việc tuyệt vời của bạn. Tôi hiếm khi sử dụng Windows, nhưng đôi khi tôi bị ép buộc và khi tôi, tôi cần tích hợp Cygwin hoặc Msys. Mặc dù Console2 có giải pháp tốt nhất mà tôi thấy cho đến nay, nhưng nó có phần hơi lộn xộn. ConEmu rất đẹp, nhưng tôi ước có 2 điều: 1. nó nên có sự hỗ trợ tốt hơn cho các cấu hình, tức là nó cần có một trình quản lý để lưu / xóa các cấu hình bảng điều khiển tùy chỉnh (ví dụ như gọi shtrực tiếp; 2. nó sẽ cho phép chia nhỏ cửa sổ nhiều tab dọc / ngang và gọi lại cách sắp xếp tab tùy chỉnh này khi khởi động lại.
axel22

@ axel22: Bạn có thể gửi lời chúc đến các vấn đề của ConEmu . 1. Đã có hồ sơ rồi. 2. Trong lộ trình.
Maximus

1

Bạn không thể. Bảng điều khiển Win32 luôn sử dụng các cửa sổ điều khiển tích hợp được cung cấp bởi CSRSS.


Cảm ơn, bây giờ tôi biết những gì tôi sau là một sự thay thế CSRSS.
Gilles

@Gilles: Chúc may mắn với điều đó. (Trên thực tế, trên Windows 7, nhiều chức năng của nó đã được chuyển vào kernel, nhưng nó vẫn là một "quá trình quan trọng", là cốt lõi của hệ thống con Win32 và tất cả những thứ đó.)
grawity

@Gilles: Sau đó sử dụng một vỏ khác, như tôi đã nói. Bảng điều khiển Win32 chỉ là trình giả lập thiết bị đầu cuối Windows tiêu chuẩn.
paradroid

1
@ jason404: Và như Gilles đã nói, đó không phải là shell (cmd.exe) mà là giao diện điều khiển (trình giả lập thiết bị đầu cuối) mà anh ta đang tìm cách thay thế, để bất kỳ chương trình nào sử dụng cửa sổ giao diện điều khiển sẽ sử dụng thay thế.
grawity

2
Thực hiện giao diện điều khiển cửa sổ Windows 7 đã được di chuyển ra khỏi csrssthành conhost.exe. Đáng buồn thay, nó vẫn là giao diện người dùng cũ và theo như tôi biết, API của nó không có giấy tờ. Xem thêm tại blog.technet.com/b/askperf/archive/2009/10/05/ từ
ak2
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.