How to get a pointer from a window

frolik

New member
How to get a pointer from a window

שלום לכולם אני כותב console application ואני רוצה להשתמש באותו חלון DOS שממנו קראתי לאפליקציה, אני לא מצליח למצא את ה- handle של החלון הנוכחי, אני רוצה לקרא לאפליקציה שלי מחלון דוס ולכתוב נתונים לאותו חלון. מקווה שהצלחתי להסביר את עצמי, רעיונות ? תודה טל
 

מס1

New member
לא לגמרי הבנתי אבל...

אלה הצהרות ה API לטיפול בחלונות תוסיף למודול
Declare Function FindWindow Lib "User32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Declare Function GetClassName Lib "User32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long Declare Function GetTopWindow Lib "User32" (ByVal hwnd As Long) As Long Declare Function GetNextWindow Lib "User32" Alias "GetWindow" (ByVal hwnd As Long, ByVal wFlag As Long) As Long Declare Function GetActiveWindow Lib "User32" () As Long Declare Function GetWindowText Lib "User32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long Declare Function GetWindowWord Lib "User32" (ByVal hwnd As Long, ByVal nIndex As Long) As Integer Declare Function lopen Lib "kernel32" Alias "_lopen" (ByVal lpPathName As String, ByVal iReadWrite As Long) As Long Declare Function CloseWindow Lib "User32" (ByVal hwnd As Long) As Long​
מקווה שיעזור לך
 

frolik

New member
אני אנסה להסביר את עצמי

נקח לדוגמא את האפליציה ping . פותחים חלון DOS ומריצים ping לכתובת, באותו חלון האפליקציה מחזירה output. אני רוצה לעשות משהו דומה: אפליקציה שרצה מחלון דוס עושה מה שעושה, ומחזירה output לאותו חלון, הצלחתי לעשות את זה כאשר אני פותח חלון חדש(AllocConsole) אבל אני רוצה להשתמש באותו חלון. ניסיתי להשתמש ב- GetActiveWindow אבל הוא מחזיר לי hundle=0. תודה
 

מס1

New member
טוב במקרה הזה

הצורך לא ברור אבל אפשר לשלוח את התוצאות של הריצה לקובץ טקסט ואחר כך להשתמש בפלט כמו פקודת ה DOS PING > MyFile.txt תוצאת הריצה תכנס לקובץ (MyFile.txt)ועל המסך לא יראו כלום
 

frolik

New member
לא זאת הכוונה

אני כותב אפליקציה שתעשה מניפולציה על Active directory, האפליקציה תרוץ ע"י AT (יען כי אוטומטית) היא תקבל פרמטרים:
appname -d serverip -u user -p password​
אני רוצה לאפשר פרמטר debug שיציג למסך מה קורה, אבל אני לא מעוניין לפתוח חלון דוס נוסף, אני רוצה להחזיר את הנתונים לאותו console ואת זה אני לא מצליח.
 

מס1

New member
Active directory זאת תוכנה

שמנהלת הרשאות למשתמשים במוסדות ובמקומות עבודה קשה לי להאמין שהיא תהיה כל כך נגישה כדי לראות מה היא עושה תוך כדי פעולה תקן אותי אם אני טועה
 

frolik

New member
חפשתי מדף 9 ועד ל1

וגם בחיפוש מתקדם ולא מצאתי (יש דברים אחרים אבל לא השאלה שלי). לגבי מס1, אני עושה מחיקה,הוספה והזזה של אובייקטים ב- AD בצורה מסיבית (מקבל קובץ מה- as400 ומעביר נתונים לAD ) וה- debug זה מסרים שלי כגון משתמש א לא קיים ב- AD, מחפש משתמש נ, מוצא וה- DN ...... יש לי את הכל הדבר היחיד שחסר זה לתקשר עם אותו חלון דוס, אני לא אוהב את פתיחת החלון הנוסך מה גם שצרך להעביר pause כדי שהוא ישאר פתוח ויהיה אפשר לראות מה כתוב בו. תודה לכל העונים
 

frolik

New member
לא

גם שם הם פותחים console חדש AllocConsole וזה בדיוק מה שאני רוצה למנוע (אם אפשר).
 

frolik

New member
תרגמתי את האפליקציה

ל- vb.net, ושם זה עובד טוב. תודה לכל העוזרים.
 

eliranitzhak

New member
גם אני מחפש לעשות Output לחלון cmd

האם לא מצאת פתרון ל VB6 ? האם הפתרון מ vb.net לא ישים ל 6 ? תודה !
 
למעלה