[ C / C++ ] — начинающим: задаем вопросы (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. da_ff

    da_ff Elder - Старейшина

    Joined:
    11 Jul 2006
    Messages:
    118
    Likes Received:
    22
    Reputations:
    26
    2 KSoniX
    посмотри функцию EnumProcesses
     
  2. Hardover

    Hardover Banned

    Joined:
    23 Feb 2007
    Messages:
    24
    Likes Received:
    3
    Reputations:
    0
    Спасибо большое, с русским шрифтом разобрался.
    Но есть еще два достаточно глупых вопросов.
    1. Как организовать задержку после выполнения программы?
    сейчас я пишу так cin >> a; но поидеи это не правильно.
    Скажем в TP можно написать repeat until keypressed и программа не закроется пока не будет нажата клавиша. Есть ли такая функция в С++.
    2. Просто интересно сложно ли потом будет перейти на программирование на С++ в графическом интерфейсе т.е писать программы с граф.оболочкой. (Сильно ли отличает от программирование в консоли)
    Буду признателен за ответы.
     
  3. z01b

    z01b Муджахид

    Joined:
    5 Jan 2007
    Messages:
    494
    Likes Received:
    382
    Reputations:
    22
    1. Почему не правельно?
    2. #include <conio.h> getch()
    3. Не знаю как правильно выразится, попробую =). Смотря на что, если писать на апи, то будет труднее немного, а если в Borland C++ Builder, наверное легче.
     
  4. Hardover

    Hardover Banned

    Joined:
    23 Feb 2007
    Messages:
    24
    Likes Received:
    3
    Reputations:
    0
    спасибо за ответ, помогло.
    А не правильно потому что при cin >> a если пользователь нажимает ентер то программа на это не реагирует, а если он нажимает любую клавишу (цифровую, буквенную, пробел и.т.д) то начинает ввод этих символов, и как бы получается что бы закрыть программу тебе надо ввести хотя бы один символ а потом ентер. Ну а это как бы выразиться не красиво что ли.
     
  5. KEZ

    KEZ Ненасытный школьник

    Joined:
    18 May 2005
    Messages:
    1,604
    Likes Received:
    754
    Reputations:
    397
    А Ctrl+C нажать не судьба?
     
  6. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    727
    Reputations:
    266
    некрасиво использовать cin с клавиатуры.
     
    1 person likes this.
  7. z01b

    z01b Муджахид

    Joined:
    5 Jan 2007
    Messages:
    494
    Likes Received:
    382
    Reputations:
    22
    ну тогда, getch() тебе в помощь =)
     
  8. sandalwood

    sandalwood Banned

    Joined:
    13 Jan 2008
    Messages:
    19
    Likes Received:
    10
    Reputations:
    4
    system("pause");
     
  9. z01b

    z01b Муджахид

    Joined:
    5 Jan 2007
    Messages:
    494
    Likes Received:
    382
    Reputations:
    22
    а.. забыл =)
    ЗЫ Если пользоваться system() то #include <stdlib.h>
     
    2 people like this.
  10. criz

    criz Elder - Старейшина

    Joined:
    4 Nov 2007
    Messages:
    293
    Likes Received:
    40
    Reputations:
    6
    Можно еще getchar(); :)

    Как узнать ИП подключившегося, не используя:
    Code:
    struct hostent FAR * gethostbyname (const char FAR * name);
    Пробовал вот так:
    Code:
    loc.sin_family 	=	AF_INET;
    	loc.sin_port	=	htons(PORT);
    	loc.sin_addr.s_addr = htonl(INADDR_ANY);
    /*some code*/
    printf("%s is connected\n", inet_ntoa(loc.sin_addr));
    
    Возврщает строчку вида: 0.0.0.0
     
  11. Joker-jar

    Joker-jar Elder - Старейшина

    Joined:
    11 Mar 2007
    Messages:
    581
    Likes Received:
    205
    Reputations:
    37
    В winsock вроде что-то типа getpeername
     
  12. KSoniX

    KSoniX Elder - Старейшина

    Joined:
    17 Jan 2008
    Messages:
    94
    Likes Received:
    12
    Reputations:
    1
    Как использовать EnumProcesses ?
     
  13. Delimiter

    Delimiter Banned

    Joined:
    8 Apr 2005
    Messages:
    317
    Likes Received:
    173
    Reputations:
    12
    http://www.rsdn.ru/Forum/?mid=891588
     
  14. KSoniX

    KSoniX Elder - Старейшина

    Joined:
    17 Jan 2008
    Messages:
    94
    Likes Received:
    12
    Reputations:
    1
    спасибо то што нужна !!!!!!!
     
  15. KSoniX

    KSoniX Elder - Старейшина

    Joined:
    17 Jan 2008
    Messages:
    94
    Likes Received:
    12
    Reputations:
    1
    а как получить Handle процессов по их Hwnd окон, если есть другие способы то пригодится тоже.
     
  16. z01b

    z01b Муджахид

    Joined:
    5 Jan 2007
    Messages:
    494
    Likes Received:
    382
    Reputations:
    22
    OpenProcess()
     
  17. KSoniX

    KSoniX Elder - Старейшина

    Joined:
    17 Jan 2008
    Messages:
    94
    Likes Received:
    12
    Reputations:
    1
    а можно подробнее?
     
  18. z01b

    z01b Муджахид

    Joined:
    5 Jan 2007
    Messages:
    494
    Likes Received:
    382
    Reputations:
    22
    HANDLE hProcess;
    hProcess=OpenProcess(..,..,..,),;
    Code:
    The OpenProcess function returns a handle of an existing process object. 
    
    HANDLE OpenProcess(
    
        DWORD dwDesiredAccess,	// access flag 
        BOOL bInheritHandle,	// handle inheritance flag 
        DWORD dwProcessId 	// process identifier 
       );	
     
    
    Parameters
    
    dwDesiredAccess
    
    Specifies the access to the process object. For operating systems that support security checking, this access is checked against any security descriptor for the target process. Any combination of the following access flags can be specified in addition to the STANDARD_RIGHTS_REQUIRED access flags: 
    
    Access	Description
    PROCESS_ALL_ACCESS	Specifies all possible access flags for the process object.
    PROCESS_CREATE_PROCESS	Used internally.
    PROCESS_CREATE_THREAD	Enables using the process handle in the CreateRemoteThread function to create a thread in the process.
    PROCESS_DUP_HANDLE	Enables using the process handle as either the source or target process in the DuplicateHandle function to duplicate a handle.
    PROCESS_QUERY_INFORMATION	Enables using the process handle in the GetExitCodeProcess and GetPriorityClass functions to read information from the process object.
    PROCESS_SET_INFORMATION	Enables using the process handle in the SetPriorityClass function to set the priority class of the process.
    PROCESS_TERMINATE	Enables using the process handle in the TerminateProcess function to terminate the process.
    PROCESS_VM_OPERATION	Enables using the process handle in the VirtualProtectEx and WriteProcessMemory functions to modify the virtual memory of the process.
    PROCESS_VM_READ	Enables using the process handle in the ReadProcessMemory function to read from the virtual memory of the process.
    PROCESS_VM_WRITE	Enables using the process handle in the WriteProcessMemory function to write to the virtual memory of the process.
    SYNCHRONIZE	Windows NT only: Enables using the process handle in any of the wait functions to wait for the process to terminate.
     
    
    bInheritHandle
    
    Specifies whether the returned handle can be inherited by a new process created by the current process. If TRUE, the handle is inheritable. 
    
    dwProcessId
    
    Specifies the process identifier of the process to open. 
    
     
    
    Return Values
    
    If the function succeeds, the return value is an open handle of the specified process.
    If the function fails, the return value is NULL. To get extended error information, call GetLastError. 
    
    Remarks
    
    The handle returned by the OpenProcess function can be used in any function that requires a handle to a process, such as the wait functions, provided the appropriate access rights were requested. 
    When you are finished with the handle, be sure to close it using the CloseHandle function.
     
  19. KSoniX

    KSoniX Elder - Старейшина

    Joined:
    17 Jan 2008
    Messages:
    94
    Likes Received:
    12
    Reputations:
    1
    я в msdn это уже прочитал толка ни понял послед ного параметра DWORD dwProcessId
     
  20. Delimiter

    Delimiter Banned

    Joined:
    8 Apr 2005
    Messages:
    317
    Likes Received:
    173
    Reputations:
    12
    dwProcessId он же PID светится в любом уважающем себя таскменеджере основополагающее понятие
    ID процесса в системе!
     
Loading...
Thread Status:
Not open for further replies.