войти зарегистрироваться

Node.JSВызываем функции Windows API (и любые другие функции, написанные на языке Си) джаваскриптом из Node.js

Со вчерашнего дня, господа, можно написать вот такой скрипт:

// функция преобразования строки JavaScript (UTF-8) в UTF-16
function TEXT(text){
   return new Buffer(text, 'ucs2').toString('binary');
}

var FFI = require('node-ffi');

// подключаемся к user32.dll
var user32 = new FFI.Library('user32', {
   'MessageBoxW': [
      'int32', [ 'int32', 'string', 'string', 'int32' ]
   ]
});

// диалоговое окно
var OK_or_Cancel = user32.MessageBoxW(
   0, TEXT('Привет, Хабрахабр!'), TEXT('Заголовок окна'), 1
);

и, запустив его в Windows, получить желаемый результат — диалоговое окно Windows:

[скриншот желаемого результата]

Это стало возможным потому, что модуль node-ffi (обёртку вокруг той необыкновенно полезной библиотеки libffi, которая используется для вызова библиотек на языке Си не менее чем в восьми других языках) вчера портировали на Windows.

ИнтерфейсыО кнопках, диалогах и кнопке «Применить»

В топике «Агрессивные «колючие» кнопки против закруглённых» развилась небольшая дискуссия по поводу расположения стандартных кнопок в диалоговых окнах («Да», «Нет», «ОК», «Отмена»). В этой статье я рассматриваю основные ошибки, которые допускают проектировщики интерфейсов в отношении диалоговых окон.

Персональные блоги OK–Отмена или Отмена–OK? Советы Якоба Нильсена.

Кнопка OK должна находиться перед кнопкой Отмена или после неё? Следовать указаниям операционных систем в этом случае более важно, нежели совершенствовать отдельно взятое диалоговое окно.

Есть масса вопросов в дизайне пользовательских интерфейсов, которые не имеют большого значения для ощущений пользователя. Классический пример: порядок кнопок в диалоговых окнах:

* OK/Отмена
* Отмена/OK

Оба варианта разумны, и люди могут спорить часами о своих предпочтениях:

ИнтерфейсыИспользуйте глаголы на кнопках в диалоговых окнах

Всем нам известны кнопки Ok и Cancel, которые используются в диалоговых окнах. При помощи этих двух кнопок пользователь может соглашаться или не соглашаться со следующим действием программы. Однако использование кнопок типа «Да» (Yes) и «Нет» (No) в диалоговых окнах не так удобно для пользователя. Вместо этого лучше использовать глаголы в надписях на кнопках. Я продемонстрирую это на конкретном примере.

Персональные блоги Диалоговое окно Dynamics AX 4.0

Порадовало диалоговое окно Microsoft Dynamics AX 4.0

Диалоговое окно

"Система распознала". Сама. Ну а что вы хотели? 21-ый век на дворе!