Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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, 2827 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
Windows 7
Win 7 Terminalserver (2)

Frage von Andreas-sca zum Thema Windows 7 ...

Windows Server
Win Server 2008 R2: slow RDP download (2)

Frage von JoergZ zum Thema Windows Server ...

Windows 10
Win-Updates trotz deaktiviertem Dienst? (1)

Frage von Scour1 zum Thema Windows 10 ...

Neue Wissensbeiträge
Google Android

Cyanogenmod alternative Downloadquelle

(5)

Tipp von Lochkartenstanzer zum Thema Google Android ...

Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(5)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Statische Routen mit Shorewall, ISC-DHCP Server konfigurieren für Android Devices (24)

Frage von terminator zum Thema LAN, WAN, Wireless ...

Server
gelöst Wie erkennen, dass nur deutsche IPs Zugang zu einer Website haben? (22)

Frage von Coreknabe zum Thema Server ...

Hardware
16-20 Port POE Switch mit VLAN (19)

Frage von thomasreischer zum Thema Hardware ...

Windows Server
Exchange HyperV Prozessorlast (18)

Frage von theoberlin zum Thema Windows Server ...