Перейти к содержанию

popoff

Пользователи
  • Постов

    133
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные popoff

  1. Этот код скрывает консоль текущего процесса.

    Либо я нуб, лино нахрена менять заголовок, чтобы получить дескриптор окна? Поясните пожалуйста ктонибудь в чем здесь скрытый смысл? А зачем sleep, и откуда это магическое число 40 и 1024?

    C CreateProcess вариант лучше, к томуже он решает поставленную задачу.

    это вот тут http://forum.stbur.ru/index.php?showtopic=17907&st=0&gopid=286444entry286444 если интересно, то спроси назанечение магических чисел у самого хатабыча)

  2. смотрите что мне на стбур'овском форуме посоветовали))

    function GetConsoleHwnd():HWND;
    const
    BufSize=1024;
    var
    FoundHwnd: HWND;
    NewWindowTitle, OldWindowTitle: PChar;
    begin
    OldWindowTitle:='';
    GetConsoleTitle(OldWindowTitle, BufSize);

    NewWindowTitle:=PChar(IntToStr(GetTickCount())+IntToStr(GetCurrentProcessId()));

    SetConsoleTitle(NewWindowTitle);

    Sleep(40);

    FoundHwnd:=FindWindow(nil, NewWindowTitle);

    SetConsoleTitle(OldWindowTitle);

    Result:=FoundHwnd;
    end;

    procedure Main();
    var
    WindowHwnd: HWND;
    begin
    WindowHwnd:=GetConsoleHwnd;
    ShowWindow(WindowHwnd, SW_HIDE);
    SomeLoop();
    end;

  3. ИМХО, врятли кто-то будет придумывать свой формат ресурсов, скорей всего там тупо архивы. Сжатие в любом случае идет по стандартному алгоритму, нужно только узнать по какому, допустим по заголовку.

    игра 1993 года выпуска. и я достоверно точно знаю что там не тупо архивы. в нете можно нарыть формат этих ресурсов, но разбираться с этим нудно, а главное ненужно.

    да и решилась же уже проблема.

  4. т.е. ты запускаешь внешний архиватор ?

    к сожалению это не архивирование. еслиб можно было не пользоваться внешними распаковщиками, то сделал бы все внутри проги. это распаковщик ресурсов игры.

    а что мешает отследить его завершение ?

    т.е. создаешь процесс и ловишь потом его завершение

    мешает то, что CreateProcess + WaiForSingleObject делают все как надо, но окно консоли все равно вылазит.

    ConsoleAttach/ConsoleDetach, либо найти дескриптор окна консоли и его скрыть

    непонял где это если использую CreateProcess, в справке не нашел.

    а ещё можно попробовать перенаправить стандартный вывод при создании в CreateProcess.

    а как?

    Добавлено спустя 16 минут 58 секунд:

    все. разобрался вроде. 0xDEADBEEF, спасибо.

    сделал так:

        STARTUPINFO si;
    PROCESS_INFORMATION pi;

    ZeroMemory( &si, sizeof(si) );
    si.cb = sizeof(si);
    si.dwFlags = STARTF_USESHOWWINDOW; //вот оно!
    si.wShowWindow = SW_HIDE; //вот оно!

    CreateProcess
    ( NULL,
    "some_command_line",
    NULL,
    NULL,
    FALSE,
    0,
    NULL,
    NULL,
    &si,
    π
    );

    WaitForSingleObject( pi.hProcess, INFINITE );
    CloseHandle( pi.hProcess );
    CloseHandle( pi.hThread );

  5. пишу прогу на C++ Builder. нужно вызвать вешний exe'шник с параметрами, чтобы произвести распаковку ресурсов.

    нужно чтобы моя программа ждала пока выполняются действия по распаковке, поэтому использую функцию spawnlp с параметром P_WAIT. но вылазящее окно консоли портит вид программы. как его скрыть?

    p.s.: ShellExecute, WinExec и прочее не подходит, так как нужно, чтобы программа ждала пока выполняются действия в консоли.

  6. 1) настроить локальную сеть

    2) на том компе на котором стоит модем зайти Панель управления - Сетевые подключения - <твое сетевое подключение> - клик правой кнопкой - свойства - вкладка "дополнительно" - поставить галочку напртив "разрешить другим пользователям сети использовать подключение к Интернету данного компьютера" - тыкнуть ОК

    3) теперь на втором компе не надо подключаться заново. когда первый подключен к нету, второй уже в нете.

  7. а сбыт - легко.

    Как, например?

    как как. упущенная выгода - вещь фактически умозрительная. и документально это тяжело подтвердить. нужно доказать что человек, который скачал у этого чела 1С именно изза этого не пошел и не купил его в магазе. а сбыт это сбыт. один чел видел как другой чел третьему чтото пропихнул забабки. вот те и сбыт.

    еслиб я был юристом яб тут ваще не сидел и сваим не обсуждал это)

  8. считаю что ТОЛЬКО юридические лица должны обладать лицензионным софтом, на данном этапе развитии России

    производителям ПО глубоко пофиг на каком этапе развития находится Россия. ониж не с Россией судятся, а с конкретными физическими и юридическими лицами.

    насколько я знаю, если нет коммерческой выгоды, уголовное дело завести не могут. Лишь как административное правонарушение.

    чела осудили за сбыт. тоесть за получение коммерческой выгоды. однако в данной ситуации налицо отсутствие коммерческой выгоды, а только упущенная выгода со стороны производителя ПО. просто упущенную выгоду не так-то просто доказать в суде. а сбыт - легко. потому сбыт и припаяли.

    а насчет конфеденциальности.. это лишь вопрос того, кто за кем стоит. если спецслужбам, например, надо будет, то они не только по твоему нику домашний адрес у хостеров выбьют, но и длину полового уда узнают.

    прецедент создан. а о доказательствах и говорить нечего. если это был показательный процесс, то их нарисовали бы полюбому.

  9. ну так категоричен я не был, конечно. Но одно точно - этого лого не будет. Да и вообще любого другого в ближайшее время.

    аесли поперек логотипа напишу "СЛАВА MAC'У"? :D

  10. Насчёт вылетов...

    1.Есть патчик, который исправляет ету ошибку

    2.Также есть патчик который исправляет ошибку вылетов при сохранении, которая возникает из-за 1-го патча

    3.И ещё патч который исправляет все последствия установки 2-го патча

    Багов много, почти для каждого бага свой патч, искать долго, качать жалко, но все старания не зря...

    Игра кул, затягивает оч. даже

×
×
  • Создать...