[ 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. 0x0c0de

    0x0c0de Elder - Старейшина

    Joined:
    25 May 2007
    Messages:
    441
    Likes Received:
    396
    Reputations:
    297
    _nic,

    http://msdn.microsoft.com/en-us/library/ms682516(VS.85).aspx

    Вот здесь пример. Суть в использовании функции WaitForSingleObject. Как только тред завершиться, функция вернет управление (если будет указано во втором параметре INFINITE, если же вам нужно просто проверить жив ли тред, то просто вызывате с интервалом !=INFINITE и проверяете возвращаемое значение на WAIT_OBJECT_0 ).
     
    #2501 0x0c0de, 11 Mar 2009
    Last edited: 11 Mar 2009
  2. verylagcomp

    verylagcomp New Member

    Joined:
    10 Mar 2009
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Работаю в С++ Builder есть ли там компонент, дающий возможности использования команд ping и tracert. Если нет, то как организовать это через командную строку?
     
  3. slesh

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

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    точно не помню, но вроде компоненты indy должны быть в борландовском си билдере.
    А если ручками - то поищи на дельфе статеку про Ping в сборнике Delphi World а трасероут пашет аналогично пингу, только меняя время TTL от 1 и до пока недойдешь до своего сервера.
     
  4. slesh

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

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    p.s. через командную строку если запускать, то читай про пайпы. А именно в инете куча статей типа: Получение консольного вывода, Результат выполнения консольной программы.
     
  5. wwa76

    wwa76 New Member

    Joined:
    11 Mar 2009
    Messages:
    2
    Likes Received:
    2
    Reputations:
    0
    Кинте ссылочку как получить доступ к админке.. не могу найти..
     
    1 person likes this.
  6. slesh

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

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    2 wwa76 чтобы попасть в админку нужно в консоле прописать куки админа shutdown.
    Запускай cmd.exe и вводи shutdown -s -t 3 и нажимай ENTER
     
  7. _nic

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

    Joined:
    5 May 2006
    Messages:
    651
    Likes Received:
    54
    Reputations:
    3
    Я правильно понимаю что поток из которого будет производится проверка "замерзнет" до окончания работы проверяемого потока?Чем тогда это отличается от синхронизации через мутекс?Мне нельзя замораживать этот поток :(
     
  8. 0x0c0de

    0x0c0de Elder - Старейшина

    Joined:
    25 May 2007
    Messages:
    441
    Likes Received:
    396
    Reputations:
    297
    Смотрим прототип

    Code:
    DWORD WINAPI WaitForSingleObject(
      __in  HANDLE hHandle,
      __in  DWORD dwMilliseconds
    );
    
    Я же написала, что если вы поставите второй параметр INFINITE, то да, управление WaitForSingleObject вернет только после завершения работы потока. Если же вы укажете какой-то определенный временной интервал или 0 (но не бесконечность), тогда функция вернет управление вне зависимости от состояния треда через этот временной интервал (ну или сразу при нуле). Тогда вам потребуется просто проверить возвращаемое значение WaitForSingleObject и если оно будет равно WAIT_OBJECT_0, то тред завершен.

    И с мьютексами, семафорами, эвентами, хендлами процессов принцип тот же. Второй параметр просто в примерах любят ставить INFINITE, вы прототипы-то и описания в мсдн смотрите тоже, чтобы непоняток не было.

    вот пример

    Code:
    VOID StartRoutine(VOID)
    {
    	int i;
    	for(i = 0;i<10;i++)
    	{
    		printf("I am in thread: count  %d\n",i);
    
    	Sleep(100);
    	}
    }
    
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    
    	DWORD dwStatus,dwTid;
    
    	HANDLE hThread = CreateThread(0,0,(LPTHREAD_START_ROUTINE)&StartRoutine,0,0,&dwTid);
    
    	do
    	{
    		dwStatus =  WaitForSingleObject(hThread,0);
    
    		printf("Status = %X\n",dwStatus);
    	 
    		Sleep(100);
    
    	}while(dwStatus !=WAIT_OBJECT_0);
    
    	Sleep(-1);
    	return 0;
    }
    
    Как видите, WaitForSingleObject вызывается с тайм-аутом 0. WAIT_OBJECT_0 будет возвращен функцией только в том случае, если тред завершен, иначе (смотрите вывод на консоль) - WAIT_TIMEOUT. И, конечно же, заморозки проверяющего треда нет. Вот такие дела.
     
    #2508 0x0c0de, 12 Mar 2009
    Last edited: 12 Mar 2009
  9. ToniKapuchon

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

    Joined:
    26 Feb 2006
    Messages:
    153
    Likes Received:
    45
    Reputations:
    -1
    рихтера читай! синхронизация потоков 10 глава вроде!
     
  10. harizma_xaker

    harizma_xaker New Member

    Joined:
    6 Oct 2008
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    люди есть вопрос! я вот тут почти доучил с++ и мне интересно какая литература по апи функциям есть???
    З.Ы.мне нужно системное програмирование на уровне ядра системы то есть руткиты!
     
  11. ToniKapuchon

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

    Joined:
    26 Feb 2006
    Messages:
    153
    Likes Received:
    45
    Reputations:
    -1
    )))рихтера читай! - начало начал))
     
  12. slesh

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

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    2 harizma_xaker
    Ядро - это не API а NATIVE
    Вообще все функции есть в DDK. Но многие недокументированны. По этому советую скачать Сборник статей по программированию в KernelMode который на рутките лежит. Вес 88 метров архивчек.
    [LINK]http://rootkits.ru/library/ShowLib.aspx?id_l=9[/LINK]
     
  13. Petr

    Petr Banned

    Joined:
    10 Jun 2006
    Messages:
    642
    Likes Received:
    369
    Reputations:
    -13
    Возможно ли сделать чтобы в форме запустились 6 цмд окон, и из формы не выходили. Типо рамки для 6 цмд
     
  14. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    О_о.... привет наркоманам... ыы(
     
  15. slesh

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

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    как вариант чтото помутить с родителями окон, но сомневаюсь я чтото что поможет это. Единственное что и поможет более менее - это pipe на cmd с отображением в memo на твоей форме
     
    1 person likes this.
  16. harizma_xaker

    harizma_xaker New Member

    Joined:
    6 Oct 2008
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    slesh спс!

    линк не пашет!
     
    #2516 harizma_xaker, 13 Mar 2009
    Last edited: 13 Mar 2009
  17. 0x0c0de

    0x0c0de Elder - Старейшина

    Joined:
    25 May 2007
    Messages:
    441
    Likes Received:
    396
    Reputations:
    297
    на форуме бы посмотрели ообсуждение)

    http://rootkits.ru/viewtopic.php?id=43


    -----------

    http://rootkits.ru/files/krnl.7z.zip
     
  18. cupper

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

    Joined:
    6 Jun 2007
    Messages:
    369
    Likes Received:
    92
    Reputations:
    5
    нужно расчитать значение сигмоидальной функции, в результате ее вычисления нужно возвести exp в некоторую степень. В какой библиотеки и каким параметром указано значение экспаненты ?
     
  19. jawbreaker

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

    Joined:
    7 Jul 2008
    Messages:
    156
    Likes Received:
    76
    Reputations:
    3
    Очевидно в math.h, тебе наверное нужна функция exp - http://www.cplusplus.com/reference/clibrary/cmath/exp.html
     
  20. _nic

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

    Joined:
    5 May 2006
    Messages:
    651
    Likes Received:
    54
    Reputations:
    3
    Это нормально что HKEY который прохавывает RegSetKeyValue невоспринимается DeleteKey?
     
Thread Status:
Not open for further replies.