banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận hệ điều hành Windows Làm thế nào để tương tác cửa sổ Dos ?  XML
  [Programming]   Làm thế nào để tương tác cửa sổ Dos ? 26/07/2007 10:18:15 (+0700) | #1 | 73963
[Avatar]
computerline
Member

[Minus]    0    [Plus]
Joined: 30/03/2007 13:46:50
Messages: 144
Offline
[Profile] [PM] [Email] [WWW] [Yahoo!]
Mình muốn đặt một câu hỏi như thế này :

Hiện mình muốn viết một chương trình tương tác với một ứng dụng Dos bằng VB6, đây là một ứng dụng Dos hoàn chỉnh và mình không thể thay đổi gì được mã nguồn của nó, mình chỉ có duy nhất Hangle của cửa sổ đó. Vậy:

1. Nếu mình muốn di chuyển cửa sổ Dos đó bằng chương trình VB6 của mình thì phải làm thế nào ?

2. Nếu mình muốn ẩn thanh Title Bar của cửa sổ đó thì phải làm thế nào ?

3. Ứng dụng Dos này chỉ nhận các chuỗi tập tin không có dấu cách, vậy mình muốn nó chạy một tập tin trong hệ diều hành Windows mà phần tên có dấu cách thì phải làm thế nào ( Về việc này mình đã thử sử dụng kí tự đại diện, nhưng thật sự nó có vẻ không triệt để ).

4. Nếu các bạn từng lập trình OpenGl, các bạn có thể thấy khi lập trình mình tạo ra 2 cửa sổ, một cửa sổ lệnh giống như Dos, và một cửa sổ dùng để hiện Graphic, vậy cửa sổ thứ hai làm sao có thể lấy được Hangle.

5. Mình muốn hỏi mã VB6 của kí tự ( [ và ] ) trong VB ?



Rất mong được sự hướng dẫn của các bạn !
Không có nghề gì trong xã hội là thấp hèn cả - chỉ có nhân cách mới phân biệt thấp cao
[Up] [Print Copy]
  [Question]   Re: Làm thế nào để tương tác cửa sổ Dos ? 26/07/2007 11:37:21 (+0700) | #2 | 73968
[Avatar]
KyNam
Member

[Minus]    0    [Plus]
Joined: 15/07/2007 01:37:35
Messages: 74
Offline
[Profile] [PM] [WWW]
đầu tiên , để nhận handle của window dùng 1 trong : FindWindow , FindWindowEx , EnumWindows

1. để di chuyển 1 window , dùng 1 trong : MoveWindow , SetWindowPos

2. để ẩn hiện title bar , dùng SetWindowLong(hWnd,GWL_STYLE,style) hoặc SetWindowLong(hWnd,GWL_EXSTYLE,ExStyle) , để biết có những style nào , coi qua hàm CreateWindow

3. cậu có thể nói rõ "muốn nó chạy một tập tin trong hệ diều hành Windows" là sao

4. giống dòng đầu tiên

5. câu này mà hỏi thì chắc mấy câu trả lời 0 1 2 3 4 không có ích gì

nếu cậu thích code VB.NET , sẽ post sau
[Up] [Print Copy]
  [Question]   Re: Làm thế nào để tương tác cửa sổ Dos ? 29/07/2007 09:25:13 (+0700) | #3 | 74755
[Avatar]
computerline
Member

[Minus]    0    [Plus]
Joined: 30/03/2007 13:46:50
Messages: 144
Offline
[Profile] [PM] [Email] [WWW] [Yahoo!]

KyNam wrote:
đầu tiên , để nhận handle của window dùng 1 trong : FindWindow , FindWindowEx , EnumWindows

1. để di chuyển 1 window , dùng 1 trong : MoveWindow , SetWindowPos
 


Rất cảm ơn bác đã hướng dẫn !

2. để ẩn hiện title bar , dùng SetWindowLong(hWnd,GWL_STYLE,style) hoặc SetWindowLong(hWnd,GWL_EXSTYLE,ExStyle) , để biết có những style nào , coi qua hàm CreateWindow
 


Mình đã thử hàm này SetWindowLong nhưng thật sự là mình không biết phải khai báo style như thế nào ? Vấn đề ở đây là các thuộc tính Caption, Border của cửa sổ Dos mình không sử lí được, làm sao để thay thế nó bằng các hằng VB6


3. cậu có thể nói rõ "muốn nó chạy một tập tin trong hệ diều hành Windows" là sao
 


ví dụ : mình gõ thế này: mplayer.exe d:/myfile/love my song.mp3

"Love my song.mp3" trong Window là một tập tin nhạc có dấu cách, trong ứng dụng Dos chỉ có thể nhận được tên file không có dấu cách, vậy làm cách nào mình có thể cho chương trình chơi được bản nhạc trên.

4. giống dòng đầu tiên
 

thank ..
 
5. câu này mà hỏi thì chắc mấy câu trả lời 0 1 2 3 4 không có ích gì
 

Thật sự mình đã tìm hiểu các hằng kí tự có sẵn của VB6 nhưng lại không tìm thấy hằng của hai kí tự trên, mình muốn mô phỏng đoạn mã nhấn phím dó mà ?

Rất cảm ơn bác đã giúp đỡ, nếu bác có thể giúp đỡ thêm, mình rất cám ơn ...

Nói thật là mình cũng đang tự học VB mà thôi, chư chẳng qua trường lớp nào !

nếu cậu thích code VB.NET , sẽ post sau 
Không có nghề gì trong xã hội là thấp hèn cả - chỉ có nhân cách mới phân biệt thấp cao
[Up] [Print Copy]
  [Question]   Re: Làm thế nào để tương tác cửa sổ Dos ? 29/07/2007 09:58:46 (+0700) | #4 | 74760
[Avatar]
KyNam
Member

[Minus]    0    [Plus]
Joined: 15/07/2007 01:37:35
Messages: 74
Offline
[Profile] [PM] [WWW]
2.
Code:
<Flags()> Public Enum WindowStyle As Integer
            Overlapped = 0
            Popup = &H80000000
            Child = &H40000000
            ChildWindow = Child
            Minimize = &H20000000
            Visible = &H10000000
            Disabled = &H8000000
            ClipSiblings = &H4000000
            ClipChildren = &H2000000
            Maximize = &H1000000
            Caption = &HC00000
            Border = &H800000
            DlgFrame = &H400000
            VScroll = &H200000
            HScroll = &H100000
            SysMenu = &H80000
            ThickFrame = &H40000
            Group = &H20000
            TabStop = &H10000

            MinimizeBox = &H20000
            MaximizeBox = &H10000

            Tiled = Overlapped
            Iconic = Minimize
            Sizebox = ThickFrame

            OverlappedWindow = Overlapped Or Caption Or SysMenu Or ThickFrame Or MinimizeBox Or MaximizeBox
            TiledWindow = OverlappedWindow
            PopupWindow = Popup Or Border Or SysMenu
        End Enum

    Property Style() As WindowStyle
        Get
            Return GetWindowLong(hWnd, GWL.STYLE)
        End Get
        Set(ByVal value As WindowStyle)
            SetWindowLong(hWnd, GWL.STYLE, value)
        End Set
    End Property

    Sub SetStyle(ByVal Styles As WindowStyle, ByVal Value As Boolean)
        If Value Then
            Style = Style Or Styles
        Else
            Style = Style And Not Styles
        End If
    End Sub


để ẩn hiện title bar , cậu gọi SetStyle(WindowStyle.Caption, true/false)

3.
cậu dùng dòng lệnh như dầy :
Code:
mplayer.exe "d:/myfile/love my song.mp3"

tức là thêm dấu ngoặc kép vào 2 đầu của đường dẫn

4.
cậu muốn biết mã ASCII hay Virtual Key Code , hay gì khác ?
lấy ASCII thì hình như là VB có hàm ASC(c as char) , windows có hàm ToAscii
để nhận Virtual Key Code , dùng VkKeyScan

để biết giá trị của các hằng số trong C++ , cậu mở tập tin header khai báo hằng đó và tìm

chưa từng viết VB6 nên 0 thể viết code VB6 , có gì cậu sửa lại
[Up] [Print Copy]
  [Question]   Re: Làm thế nào để tương tác cửa sổ Dos ? 05/08/2007 09:36:20 (+0700) | #5 | 76920
[Avatar]
computerline
Member

[Minus]    0    [Plus]
Joined: 30/03/2007 13:46:50
Messages: 144
Offline
[Profile] [PM] [Email] [WWW] [Yahoo!]
Rất cám ơn bác ? À, mà cái Regtoy của bác viết rất hay, chắc là bác học .NET lâu lắm rồi nhỉ, bác có thể nói ít kinh nghiệm về học ở môi trường .NET không ?
Không có nghề gì trong xã hội là thấp hèn cả - chỉ có nhân cách mới phân biệt thấp cao
[Up] [Print Copy]
  [Question]   Re: Làm thế nào để tương tác cửa sổ Dos ? 05/08/2007 15:32:59 (+0700) | #6 | 76976
[Avatar]
KyNam
Member

[Minus]    0    [Plus]
Joined: 15/07/2007 01:37:35
Messages: 74
Offline
[Profile] [PM] [WWW]
ở cũng 0 lâu lắm , nói ra chắc ít người tin

chẳng biết nói gì về kinh nghiệm , chỉ biết .NET rất xịn , runtime hoàn hảo , class library rất ngon

để nhớ lại thử , lúc đầu , do nghỉ hè buồn quá ( lúc đó đã chán dọc máy tính rồi ) nên mua DVD VS2005 beta 2 cài chơi thử ( lúc mua còn chưa biết tên ngôn ngữ nào khác ngoài pascal và C , càng chưa từng nghe tới .NET , không ngờ .NET là công nghệ của thời đại ) , cái nhìn thấy có 2 ngôn ngữ cho mình lựa là VB.NET và C# , chọn đại VB.NET ( bây giờ 0 phải hối hận ) , đầu tiên cũng tạo window application , kéo mấy cái nút từ toolbox , nhấp đôi dô là nó tạo 1 thủ tục cho mình xài , coi trong sách thấy nó bày mấy dòng lệnh để hiện 1 thông báo ( lúc đó chưa biết class là gì ) thì bắt chước gõ dô , rồi tới dùng property ( cũng chưa biết gì về hướng đối tượng ) , cái bắt đầu viết 1 chương trình tìm số nguyên tố , sau đó tới viết GUI cho UHARC ( do thấy nó nén mạnh nhưng 0 có GUI ) , và cuối cùng là RegToy viết từ hồi 12/2005 tới giờ

cứ đụng tới cái nào mới thì tìm hiểu về nó thôi , chẳng việc gì phải ép mình biết cho hết , từ từ cuối cùng cũng dô bụng hết

có 1 lời nhắc : tui nghĩ C# dành cho người trước giờ viết những ngôn ngữ C-style không dám chuyển qua VB.NET , dùng VB.NET sẽ viết code dễ đọc hơn , viết nhanh hơn , rõ ràng hơn , nói chung là VB.NET có syntax rất hoàn hảo , ngoài ra nó có 1 chút Rapid Application Development ( chẳng hạn tạo COM trong .NET dễ hơn C# , có 1 thứ gọi Visual Basic Application Model , "My" class , những keyword dạng như AddressOf hay AddHandler ) nói chung là có ích cho những người mới bắt đầu viết code trong .NET ( còn nếu đã có trình độ thì có người sẽ 0 thích )
[Up] [Print Copy]
  [Question]   Re: Làm thế nào để tương tác cửa sổ Dos ? 07/08/2007 11:21:40 (+0700) | #7 | 77455
[Avatar]
computerline
Member

[Minus]    0    [Plus]
Joined: 30/03/2007 13:46:50
Messages: 144
Offline
[Profile] [PM] [Email] [WWW] [Yahoo!]
Vậy khi học .NET thì cậu đọc sách nào ? Mình cũng đang tìm hiểu về .NET nhưng hình như là sách nói nhiều về Framework hơn là về ngôn ngữ, mà khi mình dịch một số chương trình trong .NET thì nhiều chương trình là bao là .NET bi lỗi, mình cũng hỏi cậu là .NET FrameWork 2.0 có phải là bản đầy đủ của .NET không ?
Không có nghề gì trong xã hội là thấp hèn cả - chỉ có nhân cách mới phân biệt thấp cao
[Up] [Print Copy]
  [Question]   Re: Làm thế nào để tương tác cửa sổ Dos ? 07/08/2007 12:02:53 (+0700) | #8 | 77464
[Avatar]
KyNam
Member

[Minus]    0    [Plus]
Joined: 15/07/2007 01:37:35
Messages: 74
Offline
[Profile] [PM] [WWW]
có lẽ 0 nên post những câu hỏi này ở đây

nếu cậu thích biết tên cuốn sách , thì hình như tên nó là "Visual Basic .NET" , và dành cho người chưa biết gì về lập trình , nói thiệt nó 0 có hay đâu
tớ nghĩ chỉ cần biết về lập trình hướng đối tượng là có thể dễ dàng dùng class library của .NET mà 0 cần phải có quyển sách nào

về việc học các ngôn ngữ C# VB.NET , trong MSDN có đủ , cũng như cách dùng VS , nói chung là tất cả
cậu nên coi mấy Walkthrought

có thể tìm thêm sách ở trang này pdfchm.com , đăng ký để download , để ý là trang này có vẻ như là đang bán sách , thực ra nó cho tải miễn phí , có 1 cuốn nên đọc là "Visual Basic 2005 Step by step" - MSPress

.NET 2.0 cậu nghĩ nó thiếu gì ?

nếu được nên dùng thẳng .NET 3.5 , và VB9 và C#3 cũng có vài new feature hay , bản VS 2008 beta2 standard edition tải miễn phí và còn dùng được khoảng 7 tháng http://download.microsoft.com/download/a/9/7/a97c9909-1867-400c-b7fb-0a498886d297/OrcasBeta2StdX1394643.img >700MB
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|