2008-11-13 23 views
6

Tôi đã thực hiện một số câu trả lời để cố gắng trả lời câu hỏi này nhưng ngay cả sau đó tôi không hoàn toàn rõ ràng về điều gì đó. Có thể tạo ứng dụng giao diện điều khiển từ VB6 không?Làm cách nào để xây dựng Ứng dụng Bảng điều khiển VB6

Tôi có một ứng dụng VB6 không có cửa sổ. Tôi luôn cho rằng đó là một ứng dụng giao diện điều khiển. Tuy nhiên, tôi muốn có thể sử dụng chức năng Windows API SetConsoleCtrlHandler từ bên trong nó. Tôi tin rằng với các ứng dụng C++/MFC bạn phải thiết lập một trình chuyển đổi liên kết để tạo ra một ứng dụng giao diện điều khiển. Và một trong những nhà phát triển đồng nghiệp của tôi nói với tôi rằng VB6 không tạo ra một ứng dụng giao diện điều khiển thực sự và do đó điều này sẽ không hoạt động. Vì vậy, nó có thể tạo ra một ứng dụng giao diện điều khiển mà Windows sẽ nhận ra như là một ứng dụng giao diện điều khiển từ VB6?

Hệ điều hành: Windows XP SP2

Nền tảng phát triển: VB6

Trả lời

8

Yes. Nó cũng có thể tạo ra các ứng dụng hoàn toàn không đầu (mà tôi đã thực hiện một vài lần trong quá khứ). This link đưa ra một ví dụ với đoạn mã.

+0

@NXC, Cảm ơn - đó chỉ là những gì bác sĩ đã ra lệnh. –

+0

Một liên kết tốt, nhưng tôi không thể chạy nó (ngay cả khi sử dụng phương thức Scripting.FileSystemObject) mà không cần gọi Windows AllocConsole đầu tiên và FreeConsole sau. Có lẽ đây chỉ là vấn đề với một số phiên bản Windows. Xem tại đây để biết chi tiết: http://internettrash.com/users/fdb/cons.htm. – Gavin

+0

@Gavin - Nó cũng có thể là một vấn đề với các phiên bản Windows mới hơn. IIRC lần cuối cùng tôi viết một ứng dụng VB6 không đầu là khoảng 10 năm trước và nền tảng đích là NT4! – ConcernedOfTunbridgeWells

1

Xem điều này article.

Hoặc bạn có thể viết lại ứng dụng VB6 dưới dạng chương trình VBScript.

+0

Cảm ơn Patrick - điều đó rất hữu ích. –

3

Bạn có thể sử dụng mã của Karl E. Peterson tại http://vb.mvps.org/samples/project.asp?id=Console để tạo ứng dụng bảng điều khiển rất đầy đủ tính năng.

Các mẫu đơn giản hơn có thể được thực hiện bằng cách relinking VB6 EXE đã biên dịch cho hệ thống con giao diện điều khiển. Karl đi vào điều này tại cùng một trang Web. Cuộn xuống cho LinkConsole.vbs ở đó.

+0

Vâng, tôi nghĩ rằng đó là cách tôi đã làm nó trong thời gian của tôi: Bạn thực sự phải nói với exe rằng một ứng dụng giao diện điều khiển của nó - mà phải được thực hiện trong một bước sau biên dịch (làm cho là bạn của bạn?). –

+0

Tính đến 31 tháng 3, mã của Karl Peterson cũng có sẵn trong một phần bổ trợ miễn phí có tên là vbAdvance (với nhiều tính năng mạnh mẽ khác). http://vb.mvps.org/tools/vbAdvance/ – MarkJ

+0

Karl đã làm một công việc tuyệt vời, như mọi khi. Tuy nhiên đó là một mảng lớn của mỡ lợn (trên cao) để làm cho hầu hết các chương trình điều khiển. Bạn hiếm khi cần hầu hết những gì ông đã cung cấp. Tin tốt là bạn có nguồn để bạn có thể cắt nó theo yêu cầu. – Bob

Các vấn đề liên quan