LINUX.ORG.RU
ФорумTalks

Готов для десктопа!


0

2

Кто таки готов для десктопа, если не линукс?

Ведь

#include <windows.h>
int main() {
    HDC dc = CreateCompatibleDC (NULL);
    SetLayout (dc, LAYOUT_RTL);
    ScaleWindowExtEx (dc, -2147483647 - 1, -1, 1, 1, NULL);
}

приводит к ... <барабанная дробь> BSOD!

Надо будет написать об этом балладу.

★★

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

Linuxman
()

Дай ссылку на обсуждение где-то на серьёзном буржуйском ресурсе — мне для windeath.info надо.
Это мило до эпичности.

Stahl ★★☆
()

Выполнение функции ScaleWindowExtEx со специфическими аргументами, конечно, самая актуальная для десктопа задача.

Dobriy_i_Prostoy
()
Последнее исправление: Dobriy_i_Prostoy (всего исправлений: 1)

а еще если диск отформатировать то винда не загрузится

onon ★★★
()

Это боян столетней давности, который зачем-то откопали на хабре. Раньше ещё через какую-то функцию работы с битмапами можно было вызвать БСОД. Всё потому, что WinAPI засунут в ядро почти целиком. Зато окошки быстро рисуются.

AntonK
()
Ответ на: комментарий от Rubystar

BSOD в линуксе

Это как?

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

Anon
()

Это ж уже месяца два назад обсуждали. Работает, да.

Tweaker ★★★★☆
()
---------------------------
Error
---------------------------
Runtime error 220 at 00003199
---------------------------
ОК   
---------------------------

BSOD нет, проверил на XP-SP3 и Win8. Только компилировал не на C, а на Delphi-5.

inoremap ★★
()
Ответ на: комментарий от nutsandmilk

А кто-нибудь пробовал?

Unhandled exception: divide by zero in 32-bit code (0x7e8a0395).
Register dump:
 CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b
 EIP:7e8a0395 ESP:00a3f410 EBP:00a3f428 EFLAGS:00210286(  R- --  I S - -P- )
 EAX:80000000 EBX:0000000c ECX:00000008 EDX:ffffffff
 ESI:00171258 EDI:ffffffff
Stack dump:
0x00a3f410:  00171258 00000001 00000000 0000000c
0x00a3f420:  00171258 00000000 00a3f458 7e8a0f4b
0x00a3f430:  0017126c 80000000 ffffffff 00000001
0x00a3f440:  00000001 00000000 7e84e11b 0000000c
0x00a3f450:  00a3f6e0 00a3f5c4 00a3f4f8 0040b985
0x00a3f460:  000003e8 80000000 ffffffff 00000001
Backtrace:
=>0 0x7e8a0395 in gdi32 (+0x70395) (0x00a3f428)
  1 0x7e8a0f4b ScaleWindowExtEx+0x6a() in gdi32 (0x00a3f458)
AF ★★★
()
Ответ на: комментарий от OldWiseCat

Там голосовалка под таймером.
Дата же рассчитывается как среднее значение.

Stahl ★★☆
()
Ответ на: комментарий от AF

аналогично

Unhandled exception: divide by zero in 32-bit code (0x7eb7f3e4).

Странно, что именно деление на нуль.

demidrol ★★★★★
()

О да, это резко делает линуксячий десктоп и удобнее, и безопаснее.

thesis ★★★★★
()
Ответ на: комментарий от demidrol

winegcc -m32 -lgdi32 test.c

Думаю, что в cygwin и mingw примерно то же.

может понадобиться -DWINVER=0x500

static_lab ★★★★★
()
Ответ на: комментарий от vvviperrr

За ссылку спасибо, но

правда пофиксили давно

- ключевая фраза. Этот-то баг все еще в действии.

bk_ ★★
() автор топика
Ответ на: комментарий от bk_

а собственно, зачем его чинить? Не вызывайте функцию с такими параметрами, и всё :)

Задействовать этот баг для поднятия привилегий вроде бы никак нельзя

Harald ★★★★★
()
Ответ на: комментарий от Harald

Но представь, кульхакир соберет бинарь, который делает такое и добавляет себя в реестр в автозапуск во все поля, даже в безопасном режиме.

bk_ ★★
() автор топика
Ответ на: комментарий от bk_

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

prischeyadro ★★★☆☆
()
Ответ на: комментарий от Mitsumi

Если в wine заимплементить нормальный BSOD, можно будет Alt+Tabом на другое приложение переключиться?

vertexua ★★★★★
()
Ответ на: комментарий от stevejobs

Логично, что не работает. Просто нужно использовать не магическое число, а константу MIN_INT, тогда везде заведётся.

CYB3R ★★★★★
()

Годно. На работе компилял, пробовал :)

Не только деление на ноль приводит к плачевным результатам :D Красиво пределы используются

fornlr ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.