So funktioniert JustAnswer:

  • Fragen Sie einen Experten
    Tausende Experten in über 200 Kategorien.
  • Erhalten Sie eine professionelle Antwort
    Per E-Mail oder sofortiger Benachrichtigung, während Sie auf unserer Website warten.
    Stellen Sie ggf. weitere Anschlussfragen.
  • 100%ige Zufriedenheit garantiert
    Bewerten Sie die erhaltene Antwort.

Stellen Sie Ihre Frage an Tronic.

Tronic
Tronic, IT-Specialist
Kategorie: Computer
Zufriedene Kunden: 2269
Erfahrung:  Elektroniker und EDV-Service
31581453
Geben Sie Ihre Frage in der Kategorie Computer hier ein
Tronic ist jetzt online.

Sehr geehrte Damen und Herren, ich habe ein Problem mit

Kundenfrage

Sehr geehrte Damen und Herren,

ich habe ein Problem mit der Abfrage von Fenstern bzw. Ereignissen in Windows 7 Professional, MultiLangauage, 64bit-Betriebssystem.
Ich programmiere mit VB.net für Windows 7, 64Bit-Betriebssystem und habe das Problem mit der Function "WindowProc", dass der
Parameter "wParam" immer ungleich HSHELL_WINDOWACTIVATED bzw. ungleich 4 ist.

Damit kann das Ereignis "WINDOWACTIVATED" kann nicht „gefangen“ werden.

Private Function WindowProc(ByVal Hwnd As IntPtr, ByVal uMsg As Integer, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As IntPtr

Select Case uMsg
Case WM_NCDESTROY
Unhook(Hwnd)
Case msgShellHook
Select Case wParam
Case HSHELL_WINDOWCREATED
'AddCREATEDstr(lParam)
'MessageBox.Show("created")
Case HSHELL_WINDOWDESTROYED
'MessageBox.Show("destroyed")
Case HSHELL_REDRAW
'MessageBox.Show("redraw")
Case HSHELL_WINDOWACTIVATED
MessageBox.Show("activated")
'AddCREATEDstr(lParam)
Case HSHELL_GETMINRECT
MessageBox.Show("changesize")
Case HSHELL_ACTIVATESHELLWINDOW
'MessageBox.Show("activateshellwindow")
End Select
End Select
Return CallWindowProc(lpPrevWndProc, Hwnd, uMsg, wParam, lParam)
End Function

Danke XXXXX XXXXX

mit freundlichen Grüßen

Hanfei Li

Ing.-Büro für Bauwesen
Schmidt GmbH
Ziegeleiweg 20
57392 Schmallenberg

Tel.: +49 (0)2972 / 9721-23
Fax: +49 (0)2972 / 9721-18

www.bauing-schmidt.de
[email protected]
Gepostet: vor 5 Jahren.
Kategorie: Computer
Experte:  IT-Fachinformatiker hat geantwortet vor 5 Jahren.
Hallo,

das ist auf die schnelle nicht mal "eben" zu beheben man müsste schon das gesamte Projekt kennen. Welche VB Version nutzen Sie denn? Ich habe da eine Vermutung, warum das nicht klappt es liegt an VB selbst da VB im Gegensatz zu C# oder gar C++ gewisse Eingeschränkungen hat in einigen Dingen müssen bestimmte Konvertierungen vorgenommen werden

LG Günter
Kunde: hat geantwortet vor 5 Jahren.

Guten Morgen,

Herr Li, der das Projekt bearbeitet, ist bis Mittwoch, den 04.05.11, nicht im Hause und wird ihre Fragen nach seiner Rückkehr umgehend beantworten.

 

Mit freundlichem Gruß

Ferdinand Schmidt

Experte:  IT-Fachinformatiker hat geantwortet vor 5 Jahren.
Guten Tag Herr Schmidt,

kein Problem, ich stehe Ihnen dann entsprechend zur Verfügung.

LG Günter
Kunde: hat geantwortet vor 5 Jahren.

Guten Tag Herr Günter,

die VB Version ist Microsoft Visual Basic 2008 Express Edition.

 

mit freundlichen Grüßen

Hanfei Li

Ing.-Büro für Bauwesen
Schmidt GmbH
Ziegeleiweg 20
57392 Schmallenberg

 

 

 

Experte:  IT-Fachinformatiker hat geantwortet vor 5 Jahren.
Hallo,

ok ich benötige eine exakte Beschreibung des Problems. Im .NET-Framework sollte man normalerweise nicht direkt auf das Windows API zugreifen, da dies am Zielsystem zu Problemen führen kann ferner ist nicht gewährleistet, das es einwandfrei funktioniert und Sie würden dadurch sog, Unmanaged Code erzeugen. Ich nehme aber an, das das das was Sie erreichen möchten absichtlich so programmiert wurde. Welchen Zweck soll das Programm den letzlich erfüllen?

Ich arbeite zur Zeit unter Windows 7 mit dem Visual Studio 2010 Express und dem .NET-Framework 4 da sich diese Varianten für Windows 7 als effektiver heraus gestellt haben zudem funktioniert alter Code normalerweise ohne Probleme und es ist wie die 2008er Version kostenlos (nur zwecks Information). Wenn ich denn Sinn Ihres Programms weiss, kann ich sicherlich eine Lösung finden.

LG Günter
Kunde: hat geantwortet vor 5 Jahren.

Hallo,

 

Mein Ziel ist, dass wenn ein vorhandenes Fenster (bsp. Word-Document) aktiviert (d.h. in Vordergrund liegt) ist, wird das Ereignis durch die Function "WindowProc" gefangen.

D.h. wparam = HSHELL_WINDOWACTIVATED (HSHELL_WINDOWACTIVATED = 4)

Die Function habe ich in der ersten Fragestellung eingefügt.

 

Das Problem ist, das sie bei einem anderen Kolleg (China) funktioniert hat, aber bei mir nicht.

Der Kolleg in China hat auch Windows 7 und VB 2008.

 

Ich habe API wie folgt aufgeladen.

#

Region "API"

Private Declare Function SetWindowsHookExA Lib "user32" (ByVal idHook As Integer, ByVal lpfn As HookProc, ByVal hMod As IntPtr, ByVal dwThreadId As Integer) As Integer

Private Declare Function UnhookWindowsHookEx Lib "user32" (ByVal idHook As Integer) As Integer

Private Declare Function CallNextHookEx Lib "user32" (ByVal idHook As Integer, ByVal nCode As IntPtr, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As Integer

Private Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" ( _

ByVal lpPrevWndFunc As IntPtr, ByVal Hwnd As IntPtr, _

ByVal msg As Integer, ByVal wParam As IntPtr, _

ByVal lParam As IntPtr) As IntPtr

Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Integer, ByVal lpProcName As String) As Integer

Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Integer

Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal Hwnd As IntPtr, ByVal lpString As String, ByVal cch As Integer) As IntPtr

Private Declare Function RegisterShellHookWindow Lib "user32" (ByVal Hwnd As IntPtr) As IntPtr

Private Declare Function RegisterWindowMessage Lib "user32" Alias "RegisterWindowMessageA" (ByVal lpString As String) As IntPtr

Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal Hwnd As Integer, ByVal nIndex As Integer, ByVal dwNewInteger As HookProc) As Integer

Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongPtr" (ByVal Hwnd As Integer, ByVal nIndex As Integer) As Integer

Private Declare Function RegisterShellHook Lib "Shell32" Alias "#181" (ByVal Hwnd As Integer, ByVal nAction As Integer) As Integer

Private Declare Function GetForegroundWindow Lib "user32" () As Integer

Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal Hwnd As Integer, ByRef lpdwProcessId As Integer) As Integer

Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As IntPtr, ByVal bInheritHandle As IntPtr, _

ByVal dwProcessId As IntPtr) As IntPtr

Private Declare Function EnumProcessModulesEx Lib "psapi.dll" ( _

ByVal hProcess As IntPtr, _

ByRef lphModule As IntPtr, _

ByVal cb As Integer, _

ByRef lpcbNeeded As Integer) As IntPtr

Private Declare Function GetModuleFileNameEx Lib "psapi.dll" _

Alias "GetModuleFileNameExA" ( _

ByVal hProcess As IntPtr, _

ByVal hModule As IntPtr, _

ByVal lpFilename As String, _

ByVal nSize As IntPtr) As IntPtr

<System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint:="SetWindowLong")> _

Private Shared Function SetWindowLong32(ByVal hWnd As IntPtr, ByVal nIndex As Integer, ByVal dwNewLong As Integer) As Integer

End Function

<System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint:="SetWindowLongPtr")> _

Private Shared Function SetWindowLongPtr64(ByVal hWnd As IntPtr, ByVal nIndex As Integer, ByVal dwNewLong As HookProc) As IntPtr

End Function

<System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint:="GetWindowLongPtr")> _

Private Shared Function GetWindowLongPtr64(ByVal hWnd As IntPtr, ByVal nIndex As IntPtr) As IntPtr

End Function

 

 

'Public Function SetWindowLongPtr(ByVal hWnd As IntPtr, ByVal nIndex As Integer, ByVal dwNewLong As IntPtr) As IntPtr

' If IntPtr.Size = 8 Then

' Return SetWindowLongPtr64(hWnd, nIndex, dwNewLong)

' Else

' Return New IntPtr(SetWindowLong32(hWnd, nIndex, dwNewLong.ToInt32))

' End If

'End Function

'Private Declare Sub CloseHandle Lib "kernel32" (ByVal hPass As Integer)

''' <summary>

'''

''' </summary>

''' <param name="Hwnd"></param>

''' <param name="uMsg"></param>

''' <param name="wParam"></param>

''' <param name="lParam"></param>

''' <returns></returns>

''' <remarks></remarks>

Delegate Function HookProc(ByVal Hwnd As Integer, ByVal uMsg As Integer, ByVal wParam As Integer, ByVal lParam As IntPtr) As Integer

Private Shared WindowProcedure As HookProc

#End Region

#Region ""

Private Declare Sub CloseHandle Lib "kernel32" (ByVal hPass As Integer)

Private Const PROCESS_QUERY_INFORMATION = 1024

Private Const PROCESS_VM_READ = 16

Private Const HSHELL_WINDOWCREATED = 1 '

Private Const HSHELL_WINDOWDESTROYED = 2 '

Private Const HSHELL_ACTIVATESHELLWINDOW = 3 'SHELL

Private Const HSHELL_WINDOWACTIVATED = 4 '

Private Const HSHELL_GETMINRECT = 5 '

Private Const HSHELL_REDRAW = 6 'WINDOWS

Private Const HSHELL_TASKMAN = 7 '

Private Const HSHELL_LANGUAGE = 8 '

Private Const WM_NCDESTROY = &H82

Private Const GWL_WNDPROC = -4

Private Const WH_SHELL = 10

Private Const WH_CBT As Integer = 5

Private Const GW_OWNER = 4

Private Const GWL_EXSTYLE = (-20)

Private Const WS_EX_TOOLWINDOW = &H80

Private Const WS_EX_APPWINDOW = &H40000

Private Const RSH_DEREGISTER = 0

Private Const RSH_REGISTER = 1

Private Const RSH_REGISTER_PROGMAN = 2

Private Const RSH_REGISTER_TASKMAN = 3

#End Region

#Region ""

Sub New()

End Sub

' <summary></summary>

' Protected Overrides Sub Finalize(ByVal Hwnd As Integer)

' Unhook(Hwnd) '

'MyBase.Finalize()

'End Sub

#End Region

 

mit freundlichen Grüßen

Hanfei Li

 

 

 

 

Experte:  IT-Fachinformatiker hat geantwortet vor 5 Jahren.
Hallo, ich werde mir den Code mal genauer anschauen, das dauert ein wenig und ich gebe Ihnen schnellst möglich Bescheid. LG Günter
Kunde: hat geantwortet vor 5 Jahren.

Hallo Herr Günter,

Sorry für die späte Meldung. Weil ich für letzte woche krank war.

Anbei übersende ich Ihnen die genaue Code.

-----------------------------------------------------------------------------------------

Imports System.Reflection, System.Threading, System.ComponentModel, System.Runtime.InteropServices

Imports System.IO

Imports System.Windows.Forms

Imports System.Drawing

Public Class SystemHook

#Region ""

Private Structure MouseHookStruct

Dim PT As Point

Dim Hwnd As Integer

Dim WHitTestCode As Integer

Dim DwExtraInfo As Integer

End Structure

Private Structure MouseLLHookStruct

Dim PT As Point

Dim MouseData As Integer

Dim Flags As Integer

Dim Time As Integer

Dim DwExtraInfo As Integer

End Structure

Private Structure KeyboardHookStruct

Dim vkCode As Integer

Dim ScanCode As Integer

Dim Flags As Integer

Dim Time As Integer

Dim DwExtraInfo As Integer

End Structure

#End Region

#Region "API"

Private Declare Function SetWindowsHookExA Lib "user32" (ByVal idHook As Integer, ByVal lpfn As HookProc, ByVal hMod As IntPtr, ByVal dwThreadId As Integer) As Integer

Private Declare Function UnhookWindowsHookEx Lib "user32" (ByVal idHook As Integer) As Integer

Private Declare Function CallNextHookEx Lib "user32" (ByVal idHook As Integer, ByVal nCode As IntPtr, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As Integer

Private Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" ( _

ByVal lpPrevWndFunc As IntPtr, ByVal Hwnd As IntPtr, _

ByVal msg As Integer, ByVal wParam As IntPtr, _

ByVal lParam As IntPtr) As IntPtr

Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Integer, ByVal lpProcName As String) As Integer

Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Integer

Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal Hwnd As IntPtr, ByVal lpString As String, ByVal cch As Integer) As IntPtr

Private Declare Function RegisterShellHookWindow Lib "user32" (ByVal Hwnd As IntPtr) As IntPtr

Private Declare Function RegisterWindowMessage Lib "user32" Alias "RegisterWindowMessageA" (ByVal lpString As String) As IntPtr

Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal Hwnd As Integer, ByVal nIndex As Integer, ByVal dwNewInteger As HookProc) As Integer

Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongPtr" (ByVal Hwnd As Integer, ByVal nIndex As Integer) As Integer

Private Declare Function RegisterShellHook Lib "Shell32" Alias "#181" (ByVal Hwnd As Integer, ByVal nAction As Integer) As Integer

Private Declare Function GetForegroundWindow Lib "user32" () As Integer

Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal Hwnd As Integer, ByRef lpdwProcessId As Integer) As Integer

Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As IntPtr, ByVal bInheritHandle As IntPtr, _

ByVal dwProcessId As IntPtr) As IntPtr

Private Declare Function EnumProcessModulesEx Lib "psapi.dll" ( _

ByVal hProcess As IntPtr, _

ByRef lphModule As IntPtr, _

ByVal cb As Integer, _

ByRef lpcbNeeded As Integer) As IntPtr

Private Declare Function GetModuleFileNameEx Lib "psapi.dll" _

Alias "GetModuleFileNameExA" ( _

ByVal hProcess As IntPtr, _

ByVal hModule As IntPtr, _

ByVal lpFilename As String, _

ByVal nSize As IntPtr) As IntPtr

<System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint:="SetWindowLong")> _

Private Shared Function SetWindowLong32(ByVal hWnd As IntPtr, ByVal nIndex As Integer, ByVal dwNewLong As Integer) As Integer

End Function

<System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint:="SetWindowLongPtr")> _

Private Shared Function SetWindowLongPtr64(ByVal hWnd As IntPtr, ByVal nIndex As Integer, ByVal dwNewLong As HookProc) As IntPtr

End Function

<System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint:="GetWindowLongPtr")> _

Private Shared Function GetWindowLongPtr64(ByVal hWnd As IntPtr, ByVal nIndex As IntPtr) As IntPtr

End Function

'Public Function SetWindowLongPtr(ByVal hWnd As IntPtr, ByVal nIndex As Integer, ByVal dwNewLong As IntPtr) As IntPtr

' If IntPtr.Size = 8 Then

' Return SetWindowLongPtr64(hWnd, nIndex, dwNewLong)

' Else

' Return New IntPtr(SetWindowLong32(hWnd, nIndex, dwNewLong.ToInt32))

' End If

'End Function

'Private Declare Sub CloseHandle Lib "kernel32" (ByVal hPass As Integer)

''' <summary>

'''

''' </summary>

''' <param name="Hwnd"></param>

''' <param name="uMsg"></param>

''' <param name="wParam"></param>

''' <param name="lParam"></param>

''' <returns></returns>

''' <remarks></remarks>

Delegate Function HookProc(ByVal Hwnd As Integer, ByVal uMsg As Integer, ByVal wParam As Integer, ByVal lParam As IntPtr) As Integer

Private Shared WindowProcedure As HookProc

#End Region

#Region ""

Private Declare Sub CloseHandle Lib "kernel32" (ByVal hPass As Integer)

Private Const PROCESS_QUERY_INFORMATION = 1024

Private Const PROCESS_VM_READ = 16

Private Const HSHELL_WINDOWCREATED = 1 '

Private Const HSHELL_WINDOWDESTROYED = 2 '

Private Const HSHELL_ACTIVATESHELLWINDOW = 3 'SHELL

Private Const HSHELL_WINDOWACTIVATED = 4 '

Private Const HSHELL_GETMINRECT = 5 '

Private Const HSHELL_REDRAW = 6 'WINDOWS

Private Const HSHELL_TASKMAN = 7 '

Private Const HSHELL_LANGUAGE = 8 '

Private Const WM_NCDESTROY = &H82

Private Const GWL_WNDPROC = -4

Private Const WH_SHELL = 10

Private Const WH_CBT As Integer = 5

Private Const GW_OWNER = 4

Private Const GWL_EXSTYLE = (-20)

Private Const WS_EX_TOOLWINDOW = &H80

Private Const WS_EX_APPWINDOW = &H40000

Private Const RSH_DEREGISTER = 0

Private Const RSH_REGISTER = 1

Private Const RSH_REGISTER_PROGMAN = 2

Private Const RSH_REGISTER_TASKMAN = 3

#End Region

#Region ""

Sub New()

End Sub

' <summary></summary>

' Protected Overrides Sub Finalize(ByVal Hwnd As Integer)

' Unhook(Hwnd) '

'MyBase.Finalize()

'End Sub

#End Region

#Region ""

Private lpPrevWndProc As Int64

Public msgShellHook As Integer

Public wordForm As TMC_Word.W_UserForm1 = Nothing

Public excelForm As TMC_Excel.E_UserForm1 = Nothing

Public acadForm As TMC_Acad.A_UserForm1 = Nothing

#End Region

 

Public Sub Unhook(ByVal Hwnd As Integer)

GetWindowLongPtr64(Hwnd, RSH_DEREGISTER)

End Sub

Public Sub StartHook(ByVal Hwnd As Integer)

msgShellHook = RegisterWindowMessage("SHELLHOOK")

Dim hLibShell As Integer

hLibShell = RegisterShellHookWindow(Hwnd)

WindowProcedure = New HookProc(AddressOf WindowProc)

lpPrevWndProc = SetWindowLongPtr64(Hwnd, GWL_WNDPROC, WindowProcedure)

 

End Sub

Private Function WindowProc(ByVal Hwnd As IntPtr, ByVal uMsg As Integer, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As IntPtr

Select Case uMsg

Case WM_NCDESTROY

Unhook(Hwnd)

Case msgShellHook

Select Case wParam

Case HSHELL_WINDOWCREATED

'AddCREATEDstr(lParam)

'MessageBox.Show("created")

Case HSHELL_WINDOWDESTROYED

'MessageBox.Show("destroyed")

Case HSHELL_REDRAW

'MessageBox.Show("redraw")

Case HSHELL_WINDOWACTIVATED

MessageBox.Show("activated")

'AddCREATEDstr(lParam)

Case HSHELL_GETMINRECT

MessageBox.Show("changesize")

Case HSHELL_ACTIVATESHELLWINDOW

'MessageBox.Show("activateshellwindow")

End Select

End Select

Return CallWindowProc(lpPrevWndProc, Hwnd, uMsg, wParam, lParam)

End Function

Private Function GetEXEFromHandle(Optional ByVal nHWnd As Integer = 0) As String

Dim nProcID As IntPtr = 0

Dim nResult As IntPtr = 0

Dim nTemp As Integer = 0

Dim lModules(0 To 200) As IntPtr

Dim sFile As String = " "

Dim hProcess As IntPtr = 0 '

If nHWnd = 0 Then nHWnd = GetForegroundWindow()

If GetWindowThreadProcessId(nHWnd, nProcID) <> 0 Then

hProcess = OpenProcess(PROCESS_QUERY_INFORMATION Or PROCESS_VM_READ, 0, nProcID)

If hProcess <> 0 Then

nResult = EnumProcessModulesEx(hProcess, lModules(1), 200, nTemp)

'If nResult <> 0 Then

nResult = GetModuleFileNameEx(hProcess, 0, sFile, Len(sFile))

'sFile = LCase$(Left$(sFile, nResult))

'End If

'CloseHandle(hProcess)

End If

End If

Return sFile

End Function

Private Function GetWindowCaption(ByVal Hwnd As Integer) As String

Dim MyStr As String = " "

'MyStr = String(256, Chr$(0)) '

Dim aa = GetWindowText(Hwnd, MyStr, 256)

'MyStr = Left$(MyStr, InStr(MyStr, Chr$(0)) - 1)

Return MyStr

End Function

Private Sub AddCREATEDstr(ByVal Hwnd As Integer)

If Hwnd = 0 Then Exit Sub

Dim s As String

s = Date.Now.ToString()

Dim mCaption As String

mCaption = GetWindowCaption(Hwnd)

'If mCaption.Trim().Contains("Form1") Then Exit Sub

Dim exename As String

exename = GetEXEFromHandle(Hwnd)

exename = exename.Trim()

If (exename.ToLower().Contains("winword") OrElse exename.ToLower().Contains("excel.exe") OrElse exename.ToLower().Contains("acad.exe")) Then

If exename.ToLower().Contains("winword") Then

If wordForm Is Nothing Then

TMC_Word.W_TM.main()

wordForm = New TMC_Word.W_UserForm1()

End If

wordForm.Visible = True

If Not excelForm Is Nothing Then

excelForm.Visible = False

End If

If Not acadForm Is Nothing Then

acadForm.Visible = False

End If

ElseIf exename.ToLower().Contains("excel.exe") Then

If excelForm Is Nothing Then

TMC_Excel.E_TM.main()

excelForm = New TMC_Excel.E_UserForm1()

End If

excelForm.Visible = True

If Not wordForm Is Nothing Then

wordForm.Visible = False

End If

If Not acadForm Is Nothing Then

acadForm.Visible = False

End If

ElseIf exename.ToLower().Contains("acad.exe") Then

If acadForm Is Nothing Then

TMC_Acad.A_TM.main()

acadForm = New TMC_Acad.A_UserForm1()

End If

acadForm.Visible = True

If Not wordForm Is Nothing Then

wordForm.Visible = False

End If

If Not excelForm Is Nothing Then

excelForm.Visible = False

End If

End If

ElseIf Not (exename.ToLower().Contains("main.exe") And mCaption.ToLower.Contains("tmc")) Then

If Not wordForm Is Nothing Then

wordForm.Visible = False

End If

If Not excelForm Is Nothing Then

excelForm.Visible = False

End If

If Not acadForm Is Nothing Then

acadForm.Visible = False

End If

End If

s = s + ":" + mCaption + ";:" + exename + "."

Dim strFilePath As String = "record.txt"

Dim sw As StreamWriter = New StreamWriter(strFilePath, True) 'true

sw.WriteLine(s)

sw.Close()

sw = Nothing

 

End Sub

End Class

------------------------------------------------------------------------------------

mit freundlichen Grüßen

Hanfei Li

 

Experte:  IT-Fachinformatiker hat geantwortet vor 5 Jahren.
Hallo,

wäre es möglich wenn Sie mir das Projekt einmal per Email an rufushoschi AT yahoo PUNKT de senden würden? Das macht es für mich erheblich einfacher, das Problem zu isolieren und zhoffentlich auch zu lösen. Vielen Dank für Ihr Verständnis.

LG Günter
Experte:  IT-Fachinformatiker hat geantwortet vor 5 Jahren.
Hallo,

endschuldigen Sie das ich mich erst heute melde aber es war sehr viel zutun. Also, ich kann Ihr Projekt leider nicht verwenden da die notwendigen Office Komponenten bei mir nicht vorhanden sind d.h. es tauchen dutzende Fehlermeldungen auf und die Komponenten, die fehlen sind auf meinem System leider nicht vorhanden. Ich kann die Frage aber gern wieder freigeben wenn Sie dies wünsche.

MFG Günter
Kunde: hat geantwortet vor 5 Jahren.

Hallo Herr Günter,

 

die Gebühren in der Höhe von 30 Euro für die Frage nach WindowProc sind von Ihnen abgebucht.

Können Sie uns eine Quittung oder einen Beleg zuschicken.

 

Bei Fragen stehe ich gerne zur Verfügung.

 

mit freundlichen Grüßen

 

Hanfei Li

 

Ing.-Büro für Bauwesen

Schmidt GmbH

Ziegeleiweg 20

57392 Schmallenberg

 

Tel.: +49 (0)2972 / 9721-23

Fax: +49 (0)2972 / 9721-18

www.bauing-schmidt.de

mailto:[email protected]

Kunde: hat geantwortet vor 5 Jahren.
Außerdem haben Sie vielleich noch weitere Vorschläge für die gestellte Frage nach "WindowProc".
Experte:  IT-Fachinformatiker hat geantwortet vor 5 Jahren.
Hallo,

es ist so leider nicht möglich Belege zu erzeugen, da dies heutzutage auch gar nicht mehr notwendig ist. Belege sind heute in Form von Mails vorhanden. Eine solche haben Sie ja vorliegen. Generell können Sie auch Ihren Auszug (Konto/Kreditkarte) als Beleg benutzen. Ich kann Ihnen daher leider keine expliziten Belege erzeugen dies ist mir leider nicht möglich.

Gruss Günter
Experte:  IT-Fachinformatiker hat geantwortet vor 5 Jahren.
Hallo, falls Sie eine detailierte aufstellung anfordern möchten, so könnten Sie dies unter info AT justanswer PUNKT de machen. Da sie bei mir ja nicht akzeptiert haben, kann ich Ihnen auch keinerlei Belege o.ä. übermitteln. Ich bitte Sie daher um Verständnis.
LG Günter

Bekannt aus:

 
 
 
„[...]mehr als Zehntausend Experten weltweit; 1500 davon in Deutschland. Acht Jahre nach dem Start ist das [...] Online-Unternehmen mit seinen 90 Mitarbeitern die größte Web-Seite für das Vermitteln von Experten von Anwälten über Ärzte bis hin zu Universitätsprofessoren.“
„Wer eine fachmänische Lösung für ein medizinisches, rechtliches oder technisches Problem sucht, kann das jetzt auch im Internet tun. Lebenshilfe auf die schnelle, unkomplizierte und vor allem erschwingliche Art bietet die Seite www.justanswer.de. Etwa 1500 Experten stehen per Mail für Fragen zu ca. 200 Fachgebieten rund um die Uhr zur Verfügung."
„Rat gewünscht? Rechtliche, medizinische oder allgemeine Fragen beantworten Experten unter www.justanswer.de."
„JustAnswer, die weltweit führende Online-Plattform für Expertenfragen und -antworten, bietet ab sofort noch mehr Sicherheit und Qualität für Verbraucher."
„Ob Vorbereitung, Notfall oder Reklamation nach dem Urlaub - JustAnswer bietet jederzeit schnelle, kompetente Antworten"
„Die Online-Plattform JustAnswer bringt Ratsuchende und Experten in über 200 Fachgebieten zusammen."
 
 
 

Was unsere Besucher über uns sagen:

 
 
 
  • Ich bedauere, dass ich nicht gleich bei Ihnen gelandet bin. Die Leerung des Cache hat das Problem gelöst. Danke Gerd Schönbuchner Grafrath
< Zurück | Weiter >
  • Ich bedauere, dass ich nicht gleich bei Ihnen gelandet bin. Die Leerung des Cache hat das Problem gelöst. Danke Gerd Schönbuchner Grafrath
  • Endlich ein Experte, der mir wirklich weiterhelfen konnte! DANKE! JustAnswer Kunde Taunusstein
  • Ihre Antwort hat mir sehr geholfen, die richtigen Entscheidungen zu treffen. Dass Sie mir darüber hinaus noch 2 Empfehlungen gegeben haben fand ich super. Vielen Dank! JustAnswer Kunde Freiburg
  • Die ausgearbeiteten Hilfen waren gut strukturiert, leicht verständlich und zu 100% hilfreich für mich. Vielen Dank Markus B. Karlsruhe
  • Sehr schnelle und kompetente Antwort, die für mich bares Geld bedeutet. Vielen Dank! S.Stober K.
  • Herzlichen Dank! Hab durch Ihre Antwort viel Geld gespart! Ben R. Deutschland
  • Sehr schnelle und kompetente Hilfestellung. Besonders für mich als Laien wurde alles sehr verständlich erklärt. Gerne wieder! Rosengl Bad Tölz
 
 
 

Lernen Sie unsere Experten kennen:

 
 
 
  • Tronic

    Tronic

    IT-Specialist

    Zufriedene Kunden:

    2269
    Elektroniker und EDV-Service
< Zurück | Weiter >
  • http://ww2.justanswer.com/uploads/PY/Pyroflash/2011-4-21_104934_tronic.64x64.jpg Avatar von Tronic

    Tronic

    IT-Specialist

    Zufriedene Kunden:

    2269
    Elektroniker und EDV-Service
  • http://ww2.justanswer.com/uploads/rufushoschi/2010-11-08_135947_bild.jpg Avatar von IT-Fachinformatiker

    IT-Fachinformatiker

    Systemadministrator

    Zufriedene Kunden:

    6338
    Software Entwicklung, Projekt Erfahrung, Windows-Netzwerke, Linux-Netzwerke, Windows/Linux-Server
  • http://ww2.justanswer.com/uploads/COMINAROSA/2010-02-03_172238_PASSBILD.JPG Avatar von COMIN IT-Service

    COMIN IT-Service

    Dipl.-Ing.

    Zufriedene Kunden:

    779
    Dipl.Ing (FH) ET, NT, IT
  • http://ww2.justanswer.com/uploads/RaubergerConcep/2010-03-02_102740_Portraet64.jpg Avatar von RaubergerConcept

    RaubergerConcept

    IT-Specialist

    Zufriedene Kunden:

    234
    Mehr als 10 Jahre Erfahrung in Softwareentwicklung und Netzwerktechnik
  • http://ww2.justanswer.com/uploads/LF/lfalkenburg/2015-2-8_01843_.64x64.jpg Avatar von Lutz Falkenburg

    Lutz Falkenburg

    IT-Specialist

    Zufriedene Kunden:

    96
    Seit über 20 Jahren beruflich im IT-/IUK-Bereich tätig. Egal ob EinzelPC der Netzwerk...
  • http://ww2.justanswer.com/uploads/BI/BigDaddyXD/2012-10-24_20126_WhySoSeriousJob.64x64.jpg Avatar von BigDaddyXD

    BigDaddyXD

    Informatiker

    Zufriedene Kunden:

    1588
    Microsoft Certified Professional, Microsoft Certified Desktop Support Technican,...
  • http://ww2.justanswer.com/uploads/PU/Pucky80/2011-5-14_54537_pucky80.64x64.jpg Avatar von Pucky80

    Pucky80

    IT-Systemkaufmann

    Zufriedene Kunden:

    1322
    MCITP (Microsoft Server 2008 Enterprise Administrator)
 
 
 

Ähnliche Fragen in der Kategorie Computer