Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

C - Win-32 Konsolenanwendung - Fokus auf Anwendung legen und Input geben

Frage Entwicklung C und C++

Mitglied: Shaddy

Shaddy (Level 1) - Jetzt verbinden

10.08.2012 um 14:19 Uhr, 2855 Aufrufe, 2 Kommentare

Das Ziel ist, dass alle 10 Minuten ein vorgegebener Input erfolgt.
Bisher war das www nicht hilfreich, deswegen bitte ich euch um Rat.

Hey leute,

ich möchte eine einfache Anwendung schreiben, die es mir ermöglicht an ein vorgegebenes Fenster einen Input zu senden.

Das Fenster soll nicht in den Vordergrund springen, ist aber ganz normal geöffnet und in der Taskleiste erreichbar.

Deswegen soll nur die geschriebene Anwendung kurzzeitig den Fokus auf mein vordefiniertes Fenster haben, ohne mich alle 10 minuten zu behindern.

Ich habe zahlreiche Foren durchsucht, aber immerwieder nur halbe Antworten gefunden - undurchsichtige Erklärungen.

Da ich bisher noch keine Arbeiten mit Fenstern gemacht habe, wäre ein Code-beispiel sehr hilfreich!

Als mögliches Beispiel dazu - Fokus auf ein bereits geöffnetes Editorfenster mit dem Titel "Unbenannt - Editor" legen und alle 10 Minuten eine 1 senden.

Gruß Shaddy
Mitglied: vossi31
10.08.2012 um 15:41 Uhr
Hallo,

muss es unbedingt C sein?
Vielleicht geht so was mit AutoIt leichter?
Sieh dir mal dies an http://www.autoit.de/index.php?page=Thread&threadID=32212

Henning
Bitte warten ..
Mitglied: rubberman
10.08.2012, aktualisiert um 23:21 Uhr
Hallo Shaddy!

Zitat von Shaddy:
Das Fenster soll nicht in den Vordergrund springen
[...]
Fokus auf ein bereits geöffnetes Editorfenster mit dem Titel "Unbenannt - Editor" legen

Das beißt sich etwas, oder?
Grundsätzlich ist es so, dass ein Keyboard Input für ein Fenster wirksam ist, das auch den Focus besitzt. Genau das würde dich aber "alle 10 Minuten behindern", nicht wahr? Workaround wäre hier ein PostMessage, was aber nicht wirklich eine Emulation des Keyboards darstellt. Für dein Notepad Beispiel ist das aber nebensächlich (und solange du nicht angibst für was du dies tatsächlich benötigst, ...).
01.
#ifndef WINVER 
02.
#define WINVER 0x0501 // XP und jünger 
03.
#endif 
04.
#ifndef _WIN32_WINNT 
05.
#define _WIN32_WINNT 0x0501 // XP und jünger 
06.
#endif 
07.
#ifndef UNICODE 
08.
#define UNICODE 
09.
#endif 
10.
#ifndef _UNICODE 
11.
#define _UNICODE 
12.
#endif 
13.
 
14.
#include "windows.h" 
15.
 
16.
int main(void) 
17.
18.
  const WCHAR* szWindowName = L"Unbenannt - Editor"
19.
  const WCHAR* szClassName = L"Edit"
20.
  const WPARAM wparam = '1'
21.
  const DWORD dwWait = 600000; /* 10 min = 600.000 ms *
22.
 
23.
  HWND hwndNotepad; 
24.
  HWND hwndTarget; 
25.
  hwndNotepad = FindWindow(NULL, szWindowName); 
26.
  if (hwndNotepad) 
27.
28.
    while (1) 
29.
30.
      hwndTarget = FindWindowEx(hwndNotepad, NULL, szClassName, NULL); /* Das Editorfenster in Notepad. *
31.
      if (hwndTarget) 
32.
        PostMessage(hwndTarget, WM_CHAR, wparam, 0); 
33.
      else 
34.
        return 0; 
35.
 
36.
      Sleep(dwWait); 
37.
38.
39.
 
40.
  return 0; 
41.
}
Grüße
rubberman
Bitte warten ..
Ähnliche Inhalte
VB for Applications
gelöst Druckvorschau verliert nach dem Drucken Fokus (2)

Frage von greatmgm zum Thema VB for Applications ...

Visual Studio
Interner Shop mit Microsoft Forms Anwendung C-Sharp (2)

Frage von talaihan zum Thema Visual Studio ...

C und C++
Arduino "Serial input zu analogwrite" (1)

Frage von Zerou24 zum Thema C und C ...

JavaScript
AngularJS Variable über Input in Funktion ausführen

Frage von badkilla zum Thema JavaScript ...

Neue Wissensbeiträge
Mac OS X

Apple hat macOS High Sierra veröffentlicht

Information von Frank zum Thema Mac OS X ...

Viren und Trojaner

Ransomware or Wiper? RedBoot Encrypts Files but also Modifies Partition Table

(4)

Information von BassFishFox zum Thema Viren und Trojaner ...

Notebook & Zubehör

WOL bei HP Notebooks

(7)

Erfahrungsbericht von Henere zum Thema Notebook & Zubehör ...

Heiß diskutierte Inhalte
Windows 10
gelöst Netzwerkkarte schaltet sich erst nach dem Logon ein (24)

Frage von DerWoWusste zum Thema Windows 10 ...

Windows Server
Seit IP Umstellung DC DNS Fehler (19)

Frage von Yaimael zum Thema Windows Server ...

Weiterbildung
gelöst Fest angestellter Admin oder Systemhaus Admin mit Kundenbetreuung? (15)

Frage von Voiper zum Thema Weiterbildung ...