,   CyberForum.ru

Windows - C++

 
21
0 / 0 / 0
: 15.05.2011
: 3
01.06.2011, 19:50     Windows #1
: () (). .
, .. . )))

: , ( ) . , , .

.
C++
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
50
#include <conio.h>
#include <stdio.h>
#include <windows.h>
#define BUFFER_SIZE 1024 //1k
 
void quit(HANDLE hNamedPipe) {
    CloseHandle(hNamedPipe);
    printf("\nÏðîöåññ ç*âåðøå*...");
}
 
int main() {
    HANDLE    hNamedPipe;                                // Èäå*òèôèê*òîð ê***ë* Pipe
    LPSTR    lpszPipeName = "\\\\.\\pipe\\$MyPipe$";    // Èìÿ ñîçä*â*åìîãî ê***ë* Pipe
    BOOL     fConnected;                                // Ôë*ã óñïåø*îãî ñîçä**èÿ ê***ë*
    DWORD    cbRead;                                    // Êîëè÷åñòâî á*éò ä***ûõ, ïðè*ÿòûõ ÷åðåç ê***ë
    DWORD    cbWritten;                                // Êîëè÷åñòâî á*éò ä***ûõ, ïåðåä***ûõ ÷åðåç ê***ë
 
    // Ñîçä*åì ê***ë Pipe, èìåþùèé èìÿ lpszPipeName
    hNamedPipe = CreateNamedPipe(
        lpszPipeName,  // *äðåñ ñòðîêè èìå*è ê***ë* 
        PIPE_ACCESS_DUPLEX, // ðåæèì îòêðûòèÿ ê***ë*   (÷òå*èå/ç*ïèñü)
        PIPE_TYPE_MESSAGE | PIPE_READMODE_MESSAGE | PIPE_WAIT, // ðåæèì ð*áîòû ê***ë*
        PIPE_UNLIMITED_INSTANCES, // ì*êñèì*ëü*îå êîëè÷åñòâî ðå*ëèç*öèé ê***ë*
        512, // ð*çìåð âûõîä*îãî áóôåð* â á*éò*õ 
        512, // ð*çìåð âõîä*îãî áóôåð* â á*éò*õ 
        5000, // âðåìÿ îæèä**èÿ â ìèëëèñåêó*ä*õ 
        NULL); // *äðåñ ïåðåìå**îé äëÿ *òðèáóòîâ ç*ùèòû
 
 
 
    // Îæèä*åì ñîåäè*å*èÿ ñî ñòîðî*û êëèå*ò*
    fConnected = ConnectNamedPipe(hNamedPipe, NULL);
 
    // Âûâîäèì ñîîáùå*èå îá óñïåø*îì ñîçä**èè ê***ë*
    printf("Connected...\n");
 
    char WMess[BUFFER_SIZE];                    // **ïèñ***îå ñîîáùå*èå
    //char RMess[BUFFER_SIZE];                    // ïîëó÷å**îå ñîîáùå*èå
    gets(WMess);  //ñ÷èòûâ*åò ñòðîêó è ïîìåù*åò å¸ â áóôåð
    if (!WriteFile(hNamedPipe, WMess, sizeof(WMess), &cbWritten, NULL)) {
        quit(hNamedPipe);
        getch();
        return 0;
    }
    printf("\n");
    quit(hNamedPipe);
    getch();
    return 0;
 
}
.
C++
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
#include <conio.h>
#include <stdio.h>
#include <windows.h>
#define BUFFER_SIZE 1024 //1k
 
int main() {
 
    char    szPipeName[256];                // Áóôåð äëÿ èìå*è ê***ë* Pipe
    HANDLE    hNamedPipe;                // Èäå*òèôèê*òîð ê***ë* Pipe
    DWORD    cbWritten;                // Êîëè÷åñòâî á*éò, ïåðåä***ûõ ÷åðåç ê***ë
    DWORD    cbRead;                    // Êîëè÷åñòâî á*éò, ïðè*ÿòûõ ÷åðåç ê***ë
    
    //char WMess[BUFFER_SIZE];                    // **ïèñ***îå ñîîáùå*èå
    char RMess[BUFFER_SIZE];                    // ïîëó÷å**îå ñîîáùå*èå
    
    strcpy(szPipeName, "\\\\.\\pipe\\$MyPipe$");
 
    // Ñîçä*åì ê***ë ñ ïðîöåññîì PIPES
    hNamedPipe = CreateFile(szPipeName, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
 
    // Âûâîäèì ñîîáùå*èå î ñîçä**èè ê***ë*
    printf("Ñîåäè*å*èå óñò**îâëå*î...\n");
    
 
            if(ReadFile(hNamedPipe, RMess, sizeof(RMess), &cbRead, NULL)){
                 printf(RMess);
                 printf("\n  100 ð*ç*îöâåò*ûõ ôèãóð....");                    
                 STARTUPINFO si = {sizeof(si)};
                 PROCESS_INFORMATION pi;
                 CreateProcess(
                 "Project1.exe", // óê*ç*òåëü ** èìÿ èñïîë*ÿåìîãî ô*éë*
                 NULL, // óê*ç*òåëü ** êîì**ä*óþ ñòðîêó
                 NULL, // óê*ç*òåëü ** *òðèáóòû áåçîï*ñ*îñòè ïðîöåññ*
                 NULL, // óê*ç*òåëü ** *òðèáóòû áåçîï*ñ*îñòè ïîòîê*
                 FALSE, // óê*ç*òåëü ** ôë*ã **ñëåäîâ**èÿ
                 NORMAL_PRIORITY_CLASS, // ôë*ãè ñîçä**èÿ
                 NULL, // óê*ç*òåëü ** *îâûé áëîê ñðåäû
                 NULL, // óê*ç*òåëü ** èìÿ òåêóùåãî ê*ò*ëîã*
                 &si,  // óê*ç*òåëü ** ñòðóêòóðó STARTUPINFO
                 &pi); // óê*ç*òåëü ** ñòðóêòóðó PROCESS_INFORMATION  
                 }
    printf("\n");    
    CloseHandle(hNamedPipe);
    printf("\nÏðîöåññ ç*âåðøå*. Í*æìèòå ëþáóþ êë*âèøó...");
    getch();
    return 0;
 
}
)) please me!
 : rar lab4.rar (178.8 , 31 )
Similar
41792 / 34177 / 6122
: 12.04.2006
: 57,940
01.06.2011, 19:50     Windows
:

C++
C++ Windows
C++
fstream C++
C++ ?
? C++
C++ c++
C++



:
.

: 11:25. GMT +3.
- , ,
-
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
@Mail.ru