Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   
Forentreff 2012     
Bücher-Shop mit Amazon (Buchkategorien)C++ : Referenzen zu C++ : C++ Builder : Visual C++ : C# : Java : Spieleprogrammierung : Systemprogrammierung Linux : Software-Entwicklung : .NET : Compilertechnik : Algorithmen & Datenstrukturen : Objektorientierung : Entwurfsmuster : UML : eXtreme Programming : Scrum : Projektmanagement : Software-Testing : Datenbanken : Tom DeMarco : Dilbert : User Friendly
C/C++ Forum :: Themen rund um die IT ::  Pipe schließen     Zeige alle Beiträge auf einer Seite Auf Beitrag antworten
Autor Nachricht
upstalsboom
Unregistrierter




Beitrag upstalsboom Unregistrierter 16:47:00 02.12.2011   Titel:   Pipe schließen            Zitieren

Hallo,

ich habe unter Dos folgendes Problem.

Ich möchte gerne eine Pipe schließen nachdem ein Prozess beendet wird, jedoch bekomme ich andauernd die Meldung wenn ich Strg + C drücke:

Ein Prozess hat versucht, zu einer nicht bestehenden Pipe zu schreiben.

Jetzt könnte man mit
Code:
exit
Code:
exit
Code:
exit
den Prozess beenden. Jedoch kriege ich es nicht hin den Prozess zu beenden.

Mein Batchprogramm lautet so:

Code:
cmd /k net statistics server | find "Statistik" > "C:\Dokumente und Einstellungen\Name\Desktop\out.txt"
exit
Code:
cmd /k net statistics server | find "Statistik" > "C:\Dokumente und Einstellungen\Name\Desktop\out.txt"
exit
Code:
cmd /k net statistics server | find "Statistik" > "C:\Dokumente und Einstellungen\Name\Desktop\out.txt"
exit


Ich muss aber jedesmal manuell exit eingeben. Kann man das automatisieren?


Eigentlich war die Grundidee ein Programm was ähnlich unter Linux dem Befehl
Code:
uptime
Code:
uptime
Code:
uptime
ist. Also direkt die Zeit ausrechnet, an der man am Rechner sitzt. Jedoch kriege ich es nicht so ganz umgesetzt.

Danke
C++ Forumbot
Forumbot

Benutzerprofil
Anmeldungsdatum: 29.02.2004
Beiträge: 16160
Beitrag C++ Forumbot Forumbot 20:07:03 02.12.2011   Titel:              Zitieren

Dieser Thread wurde von Moderator/in SideWinder aus dem Forum DOS und Win32-Konsole in das Forum Themen rund um den PC verschoben.

Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?


Dieses Posting wurde automatisch erzeugt.

_________________
Besuchen Sie unsere Bücherecke.
http://www.c-plusplus.de/bucher.php
Mit jeder Bestellung unterstützen Sie das Forum.
merano
Mitglied

Benutzerprofil
Anmeldungsdatum: 21.12.2006
Beiträge: 231
Beitrag merano Mitglied 00:17:56 03.12.2011   Titel:   Re: Pipe schließen            Zitieren

upstalsboom schrieb:
Eigentlich war die Grundidee ein Programm was ähnlich unter Linux dem Befehl uptime ist. Also direkt die Zeit ausrechnet, an der man am Rechner sitzt.


Warum machst Du das dann nicht ?

Google sagt:
http://www.codeguru.com/forum/archive/index.php/t-304599.html

Habs mit VS2010 kompiliert; scheint ganz gut zu funktionieren.

C/C++ Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
typedef LONG (WINAPI *pNtQuerySystemInformation)(UINT,PVOID,ULONG,PULONG);

typedef struct _SYSTEM_TIME_OF_DAY_INFORMATION
{
LARGE_INTEGER BootTime;
LARGE_INTEGER CurrentTime;
LARGE_INTEGER TimeZoneBias;
ULONG CurrentTimeZoneId;
} SYSTEM_TIME_OF_DAY_INFORMATION, *PSYSTEM_TIME_OF_DAY_INFORMATION;

BOOL GetUpTime(SYSTEMTIME *pstBootTime)
{
pNtQuerySystemInformation pfNtQuerySystemInformation;
SYSTEM_TIME_OF_DAY_INFORMATION SysTimeInfo;
FILETIME ftBootTime;

pfNtQuerySystemInformation = (pNtQuerySystemInformation)
GetProcAddress(GetModuleHandle(_T("ntdll")),"NtQuerySystemInformation");

if(!pfNtQuerySystemInformation)
return FALSE;

if(pfNtQuerySystemInformation(3,&SysTimeInfo,sizeof(SysTimeInfo),0) != NO_ERROR)
return FALSE;

ftBootTime = *(FILETIME *)&(SysTimeInfo.BootTime);
FileTimeToLocalFileTime(&ftBootTime,&ftBootTime);
FileTimeToSystemTime(&ftBootTime,pstBootTime);
return TRUE;
}

int _tmain(int argc, _TCHAR* argv[])
{
  DWORD seconds;
  SYSTEMTIME stBootTime;

  if(GetUpTime(&stBootTime)) {
        _tprintf(
    _T("System Uptime: %d/%d/%d %d:%d:%d\n"),
    stBootTime.wMonth,
    stBootTime.wDay,
    stBootTime.wYear,
    stBootTime.wHour,
    stBootTime.wMinute,
    stBootTime.wSecond);
    }

  return 0;
}
C/C++ Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
typedef LONG (WINAPI *pNtQuerySystemInformation)(UINT,PVOID,ULONG,PULONG);

typedef struct _SYSTEM_TIME_OF_DAY_INFORMATION
{
LARGE_INTEGER BootTime;
LARGE_INTEGER CurrentTime;
LARGE_INTEGER TimeZoneBias;
ULONG CurrentTimeZoneId;
} SYSTEM_TIME_OF_DAY_INFORMATION, *PSYSTEM_TIME_OF_DAY_INFORMATION;

BOOL GetUpTime(SYSTEMTIME *pstBootTime)
{
pNtQuerySystemInformation pfNtQuerySystemInformation;
SYSTEM_TIME_OF_DAY_INFORMATION SysTimeInfo;
FILETIME ftBootTime;

pfNtQuerySystemInformation = (pNtQuerySystemInformation)
GetProcAddress(GetModuleHandle(_T("ntdll")),"NtQuerySystemInformation");

if(!pfNtQuerySystemInformation)
return FALSE;

if(pfNtQuerySystemInformation(3,&SysTimeInfo,sizeof(SysTimeInfo),0) != NO_ERROR)
return FALSE;

ftBootTime = *(FILETIME *)&(SysTimeInfo.BootTime);
FileTimeToLocalFileTime(&ftBootTime,&ftBootTime);
FileTimeToSystemTime(&ftBootTime,pstBootTime);
return TRUE;
}

int _tmain(int argc, _TCHAR* argv[])
{
DWORD seconds;
SYSTEMTIME stBootTime;

if(GetUpTime(&stBootTime)) {
_tprintf(
_T("System Uptime: %d/%d/%d %d:%d:%d\n"),
stBootTime.wMonth,
stBootTime.wDay,
stBootTime.wYear,
stBootTime.wHour,
stBootTime.wMinute,
stBootTime.wSecond);
}

return 0;
}
C/C++ Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
typedef LONG (WINAPI *pNtQuerySystemInformation)(UINT,PVOID,ULONG,PULONG);

typedef struct _SYSTEM_TIME_OF_DAY_INFORMATION
{
LARGE_INTEGER BootTime;
LARGE_INTEGER CurrentTime;
LARGE_INTEGER TimeZoneBias;
ULONG CurrentTimeZoneId;
} SYSTEM_TIME_OF_DAY_INFORMATION, *PSYSTEM_TIME_OF_DAY_INFORMATION;

BOOL GetUpTime(SYSTEMTIME *pstBootTime)
{
pNtQuerySystemInformation pfNtQuerySystemInformation;
SYSTEM_TIME_OF_DAY_INFORMATION SysTimeInfo;
FILETIME ftBootTime;

pfNtQuerySystemInformation = (pNtQuerySystemInformation)
GetProcAddress(GetModuleHandle(_T("ntdll")),"NtQuerySystemInformation");

if(!pfNtQuerySystemInformation)
return FALSE;

if(pfNtQuerySystemInformation(3,&SysTimeInfo,sizeof(SysTimeInfo),0) != NO_ERROR)
return FALSE;

ftBootTime = *(FILETIME *)&(SysTimeInfo.BootTime);
FileTimeToLocalFileTime(&ftBootTime,&ftBootTime);
FileTimeToSystemTime(&ftBootTime,pstBootTime);
return TRUE;
}

int _tmain(int argc, _TCHAR* argv[])
{
  DWORD seconds;
  SYSTEMTIME stBootTime;

  if(GetUpTime(&stBootTime)) {
        _tprintf(
    _T("System Uptime: %d/%d/%d %d:%d:%d\n"),
    stBootTime.wMonth,
    stBootTime.wDay,
    stBootTime.wYear,
    stBootTime.wHour,
    stBootTime.wMinute,
    stBootTime.wSecond);
    }

  return 0;
}
upstalsboom
Unregistrierter




Beitrag upstalsboom Unregistrierter 00:51:22 03.12.2011   Titel:   jau            Zitieren

ich hab kein vs2010 installiert, zu faul, bei so einer langen installation..

wollte mit batchprogrammierung ein bischen übung bekommen

danke für den ansatz
C/C++ Forum :: Themen rund um die IT ::  Pipe schließen   Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info, www.c-sar.de, www.c-plusplus.net und www.baeckmann.de enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.