Чи можна заменить API функцию ?

Тема в разделе "WASM.BEGINNERS", создана пользователем Z80vsRK86, 11 окт 2006.

  1. Z80vsRK86

    Z80vsRK86 New Member

    Публикаций:
    0
    Регистрация:
    11 окт 2006
    Сообщения:
    8
    Чи можна заменить API функцию реализацией чистым асамблерским кодом ?
    Если можне наведите пример.
     
  2. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    вы китаец?
     
  3. Z80vsRK86

    Z80vsRK86 New Member

    Публикаций:
    0
    Регистрация:
    11 окт 2006
    Сообщения:
    8
    Былбы я китайцем писал бы ироглифами.
    А ты тут что китайцев ищеш ??? :)
     
  4. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.347
    Можно. Открываешь какую-нибудь библиотеку в дизасме, копируешь функцию и вставляешь чистый ассемблерный код в свою программу. :)

    Пример. функция InitCommonControls чистым ассемблерным кодом:
    Код (Text):
    1. retn
    :)
     
  5. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Если ты её так заменишь, то вряд ли у тебя создаста дилаог с "продвинутыми" контролами =)
     
  6. Z80vsRK86

    Z80vsRK86 New Member

    Публикаций:
    0
    Регистрация:
    11 окт 2006
    Сообщения:
    8
    :)
    Интересно, вы думаете все функции можна при помощи диза преобрзовать ?
    А как нащет ефекта замены.
    Ну как нащет оптимизации API функций: Чы можна их заменить и оптемизировать и самое :) главное послать Гейса с его айпишниками :)
    А кстати может кто кинет( если ели тако есть) окошко(не меседж :) ) в винде на чистом асамблерке, без использывания вызова API.
     
  7. masquer

    masquer wasm.ru

    Публикаций:
    0
    Регистрация:
    13 сен 2002
    Сообщения:
    890
    Адрес:
    Николаев
    а как насчет перестать коверкать русский язык?
     
  8. alpet

    alpet Александр

    Публикаций:
    0
    Регистрация:
    21 сен 2004
    Сообщения:
    1.221
    Адрес:
    Russia
    Z80vsRK86

    Окошко Windows - это очень многоплановая вещь однако. К нему имеет отношение описатель окна, и оконная процедура (точнее их цепочка), занимающаяся обработкой сообщений + отрисовкой (в самом оконечном случае - набор вызовов функций GDI, что в свою очередь вызывают функции драйвера, что изменяют цвет некоторых пикселей, принадлежащих области окна). Если это целиком скопировать, у тебя будет солидный кусок кода Windows, преимущественно kernel-mode. Если он и заработает, то только на ограниченном числе компьютеров...
     
  9. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Z80vsRK86
    Я бы и на "меседж" без использования API с удовольствием посмотрел.

    Теоретически, да.
     
  10. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    он -- китаец, пишущий через онлайн-переводчик китайского происхождения %)
     
  11. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.347
    n0name
    Кидай comctl32.dll в дизасм... :)
     
  12. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Нарисовать через доступ к видеопамяти? =)
     
  13. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    InitCommonControls служит для того чтобы компилятор "понял" что надо добавить в импорт эту библиотеку, чтобы загрузчик загрузил её в адресное пространство процесса. А в ней содержится WndProc нескольких классов, как то ListView, TreeView, etc. И следовательно если ты вместо импорта сделаешь свою InitCommonControls, то нифига работать не будет.
     
  14. Z80vsRK86

    Z80vsRK86 New Member

    Публикаций:
    0
    Регистрация:
    11 окт 2006
    Сообщения:
    8
    Извените :dntknw: бейсик учил, паскаль учил, с++ учил и даже асаблер училл но руский так и не выучил.
    Если кого волнует мой язык(не в физическом смисле) :) прошу не читать.
    У меня с напесанием 2-ка, я на свой язык не обращаю внимание :)
     
  15. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.347
    Однако, если ты пишешь не Hello, World, то в твоей программе будут использоваться и другие функции из comctl32.dll, что и приведет к линковке данной библиотеки... :)
     
  16. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    n0name
    Хотя бы так :) Только доступ сначала ещё получить нужно... Не всё так просто. Причём, кроме рисования, нужно ещё обработать кучу событий... без API! (см. пост alpet).
     
  17. Z80vsRK86

    Z80vsRK86 New Member

    Публикаций:
    0
    Регистрация:
    11 окт 2006
    Сообщения:
    8
    Интересная мысль :), кстати взял во внемание.
    Ето как через ОПЗЛ чи ДРХ и без вызова самого окна ?
     
  18. Z80vsRK86

    Z80vsRK86 New Member

    Публикаций:
    0
    Регистрация:
    11 окт 2006
    Сообщения:
    8
    НУ ЧТО, ХТОТО МОЖЕТ СЛОМАТЬ(обойтись без) API функции ?
     
  19. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Например, какие?
    Дык ты написал, что посмотрел бы, а не покликал бы по "OK" =))
     
  20. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Есть предложение: игнорировать сообщения от злостных нарушителей орфографии.

    masquer
    +1

    n0name
    "Посмотреть" - это план-минимум.