1. Си / Говнокод #24361

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    LRESULT WINAPI DefWindowProc(
      _In_ HWND   hWnd,
      _In_ UINT   Msg,
      _In_ WPARAM wParam,
      _In_ LPARAM lParam
    );

    Запостил: CrashTesteAnusov, 06 Июня 2018

    Комментарии (39) RSS

    • Ебануться блядь! Нельзя было нормально именовать???
      Ответить
      • > нормально именовать
        LPCTSTR!
        Ответить
        • Long Pointer Constant TCHAR String, всё логично же!
          Ответить
        • Борманд, ну в MSDNе же все написано.
          Long Pointer to Constant TCHAR-based String.

          Перевожу:
          "Long" -- значит "far". Тяжелое наследие win16, когда еще использовалась активно сегментная адресация и поинтер мог иметь только смещение.

          "TCHAR" это такой волшебный тип, который превращается препроцессором в wchar_t или char в зависимости от ключика _UNICODE. Тяжелое наследние win9x где не было нормального unicode, чтобы можно было компилироваться одноврмеменно и под win9x и под win2k+.

          Остальные буковки и без меня разберете
          Ответить
      • Этож мокрософт и винапи.
        Ответить
      • Это от мелкософта? Ну давай вышли им там свой кодстайл, лично их тех. руководству - я вот научу вас пробелы подсчитывать.
        Ответить
    • wParam Param_Param_Pam_Pam;
      lParam Param_Param_Pam_Pam;
      И не важно, чем он занят,
      Если он худеть не станет,
      А ведь он худеть не станет
      НИ-КОГ-ДА!
      Ответить
      • Кто ложит хуй на винапи
        Тот поступает мудро!
        Ответить
    • Кроме именования, ещё говно в том, что винапишные функции принимают по хренадцати оргументов.
      Ответить
      • И это только пользовательские функции! Всякие там NtXXXX, RtlXXXX, ZwXXXX принимают в разы больше аргументов!
        Ответить
      • Если функция называется AccessCheckByTypeResultListAndAuditAlarmByHandle, то как можно не дать ей 17 аргументов?
        Ответить
        • Провёл своим аргументом тебе по губам, проверь.
          Ответить
        • ААААА! Я думал, что это прикол, придуманный на ходу. Есть такая функция:
          https://msdn.microsoft.com/en-us/library/windows/desktop/aa374843%28v=vs.85%29.aspx

          Воистину сон разума рождает чудовища.
          Ответить
        • Да, я просто не смогу ей отказать!
          Ответить
        • Давайте создадим структуру на 17 полей и передадим 1 аргумент? Чем это отличается?
          Ответить
          • P.S. А нет, передадим 2 аргумента: &my_struct и sizeof(my_struct)
            Ответить
            • Размер структуры надо передавать в самой структуре.
              Ответить
          • А давайте лучше иметь несколько специальных функций, чем одну, которая выполняет несколько различных действий в зависимости от аргументов?
            Это же пиздец: когда функции передаёшь один флаг, она делает окошко, когда другой -- кнопку, когда третий -- текстовое поле.
            Ответить
            • Гораздо интереснее было бы, если бы при передаче одного флага она делала окошко, при передача другого -- форматировала бы жёсткий диск, при передаче третьего -- отправляла бы твоим знакомым компромат на тебя. И чтобы в каждой версии ОС (включая сервиспаки) назначение этих флагов менялись.
              Ответить
              • Ты сейчас описал гейт между юзермодом и ядром?
                Ответить
            • Да с этим access check'ом у них вообще комбинаторный взрыв случился: AccessCheck, AccessCheckAndAuditAlarm, AccessCheckByType, AccessCheckByTypeAndAuditAlarm, AccessCheckByTypeResultList, AccessCheckByTypeResultListAndAuditAlarm , AccessCheckByTypeResultListAndAuditAlarmByHandle.
              Ответить
        • Наш ответ чемберлену
          https://developer.apple.com/documentation/sirikit/ingetavailablerestaurantreservationbookingdefaultsintentresponse


          Class
          INGetAvailableRestaurantReservationBooki ngDefaultsIntentResponse

          Your app’s response to a get available restaurant reservation booking defaults intent.
          Ответить
          • > .apple.com

            сразу нахуй
            Ответить
            • Ну, реклама красного "iPhone" с сексуальным мужским голосом за кадром им удалась весьма и весьма непохо (лучше, чем сама продукция).
              Ответить
      • Конечно, лучше как в юникс
        SYNOPSIS
             #include <unistd.h>
        
             extern char **environ;
        
             int
             execl(const char *path, const char *arg, ...);
        
             int
             execlp(const char *file, const char *arg, ...);
        
             int
             execle(const char *path, const char *arg, ..., char *const envp[]);
        
             int
             execv(const char *path, char *const argv[]);
        
             int
             execvp(const char *file, char *const argv[]);
        
             int
             execvpe(const char *file, char *const argv[], char *const envp[]);
        Ответить
    • А без подключения dll типа пернул32/усер32 вообще хоть что-то можно сделать? Даже ExitProcess в kernel32.
      Ответить
      • Можешь слинковаться напрямую с нтдлл.длл , если ты мамин хакер и умеешь в Native api
        Ответить
      • Вроде бы особо и нет, а, вроде бы, и кернел32 всегда подгружается( даже если не прописан в импорте )
        Ответить
    • Ничоси

      Я тут вас оставил на недельку, а вы анусы уже смеются над винпроком. А что смешного-то?
      Ответить

    Добавить комментарий