Читать дальше
среда, 24 декабря 2008 г.
воскресенье, 7 декабря 2008 г.
Flash: Amateurs Lega Calcio Serie A
Недавно закончил работу над flash-приложением с использованием vkontakte API. Все необходимые функции реализованы, сейчас жду лишь баг-репортов пользователей (а их порядка 50-100 в день) для исправления недостатков. Все данные, включая имена команд, хранятся на сервере вконтакте и являются настраиваемыми. Больше всего напрягло ограничение на 3 запроса в секунду, да и вообще работа с запросами. Правда об этом я уже писал в предыдущем посте.
Адрес страницы с приложением: Amateurs Lega Calcio Serie A
Читать дальше
Адрес страницы с приложением: Amateurs Lega Calcio Serie A
Читать дальше
суббота, 22 ноября 2008 г.
AS3 + VKontakte API
Давненько я не писал сюда ничего. На днях решил попробовать писать на AS3 (Action Script 3) в среде Adobe Flash CS3 с использованием "ВКонтакте API". Помучавшись с запросами к api.vkontakte.ru нашёл классы, призванные облегчить нам общение с ВКонтактом: vkontakte-as3
Всё бы хорошо, если не ограничение на 3 запроса в секунду . . . Классы, кстати вовсе не учитывают этого ограничения и лупят все запросы подряд. Написал простенький класс для распределения запросов по времени:
import flash.utils.*;
package main
{
import ru.vkontakte.VKApp;
public class TimeMgr
{
public var vk:VKApp = null;
private var isWaiting:Boolean = false;
private var prePreLastTime:Number = 0; // PrePreLast query time
private var preLastTime:Number = 0; // PreLast query time
private var lastTime:Number = 0; // Last query time
private var arr:Array = new Array();
private var realFunc:Function = null;
public function TimeMgr(vk_:VKApp) {
vk = vk_;
}
public function addQuery( ... args):void
{
arr.push(args);
if (isWaiting == false) {
isWaiting = true;
sendQuery(arr[0]);
}
}
private function justReleased(res:XML)
{
// Если ошибка
if ((res.name() != 'response') &&
(res.toString().indexOf('Too many') == 0))
{
setTimeout(sendQuery, 1000, arr[0]);
return;
}
// Отправка по месту назначения
if (realFunc != null)
setTimeout(realFunc, 0, res);
// Отправка следущего запроса из очереди
arr.shift();
if (arr.length > 0)
sendQuery(arr[0]);
else
isWaiting = false;
}
private function sendQuery(arg:Array)
{
// Куда передать ответ
if (arg[0] == vk.getVariable)
realFunc = arg[2];
else if (arg[0] == vk.putVariable)
realFunc = arg[3];
var t:Number = (new Date()).time;
if (t - prePreLastTime >= 1500) {
if (arg[0] == vk.getVariable)
vk.getVariable(arg[1], justReleased);
else if (arg[0] == vk.putVariable)
vk.putVariable(arg[1], arg[2], justReleased);
} else {
if (arg[0] == vk.getVariable)
setTimeout( arg[0], 1500 - (t - prePreLastTime),
arg[1], justReleased);
else if (arg[0] == vk.putVariable)
setTimeout( arg[0], 1500 - (t - prePreLastTime),
arg[1], arg[2], justReleased);
}
prePreLastTime = preLastTime;
preLastTime = lastTime;
lastTime = t;
}
}
}
* This source code was highlighted with Source Code Highlighter.
Теперь пишем код так:
// Не забудьте инициализацию vk:VKApp
var timer:TimeMgr = new TimeMgr(vk);
// Функция вызываемая при получении ответа севера
function vFunc(res:XML):void {
trace(res.name() + ':' + res.toString());
}
// <span style="font-style:italic;">Было раньше:</span>
// vk.putVariable(50, 'Test data', null);
// vk.getVariable(50, vFunc);
// <span style="font-style:italic;">Стало теперь:</span>
timer.addQuery(vk.putVariable, 50, 'Test data', null);
timer.addQuery(vk.getVariable, 50, vFunc);
* This source code was highlighted with Source Code Highlighter.
Запросов можно делать теперь сколько угодно, менеджер сам распределит их по времени. А вообще считаю это ограничение слишком уж строгим, ну хоть 10 в секунду было бы уже нормально. Можно было бы делать достаточно динамичные игры. Например, сетевой змейке - 3 запроса в секунду явно перекрыли кислород . . .
Полезные ссылки:
1. Повышение производительности AS3 приложений
2. Bitwise gems - fast integer math
Читать дальше
воскресенье, 19 октября 2008 г.
Лучший бесплатный софт для iPhone 3G
Программы:
1. Palringo Instant Messenger [iTunes]
2. PanoLab [iTunes]
3. YouNote [iTunes]
4. Stanza [iTunes]
Игры:
1. Galcon Lite [iTunes]
2. Square Master Lite [iTunes]
3. Gaia Lite [iTunes]
4. Labyrinth Lite Edition [iTunes]
5. Jelly Car [iTunes]
Читать дальше
1. Palringo Instant Messenger [iTunes]
2. PanoLab [iTunes]
3. YouNote [iTunes]
4. Stanza [iTunes]
Игры:
1. Galcon Lite [iTunes]
2. Square Master Lite [iTunes]
3. Gaia Lite [iTunes]
4. Labyrinth Lite Edition [iTunes]
5. Jelly Car [iTunes]
Читать дальше
Глюк с рингтонами в iPhone
Недавно столкнулся с таким глюком:
1. Перетакскиваю несколько мелодий m4r формата в iTunes->iPhone->Рингтоны
2. В iPhone вижу лишь 1 мелодию, но зато в нескольких копиях . . .
Потыкался по гуглу с запросами "iPhone глюк с рингтонами" . . .
10, 20, 30 минут . . . безрезультатно . . . методом тыка нашёл выход)))
Решил проблему так:
1. Перетащите мелодии сначала в iTunes->Медиатека->Рингтоны
2. Из iTunes->Медиатека->Рингтоны перетащите в iTunes->iPhone->Рингтоны
3. Все мелодии нормально видны из айфона.
Не ожидал от Apple такой подставы, если честно . . .
Интересно, была бы у меня эта проблема, если б я пользовался синхронизацией?
И ещё при прослушивании рингтонов звук идёт не только из наушников,
но и из динамиков . . . очень неудобно . . . не зря же я наушники воткнул?
З.Ы.
ТТХ: [iTunes 8.0.1 (Windows Vista 32)] + [iPhone 3G FW 2.1 (official)]
Читать дальше
1. Перетакскиваю несколько мелодий m4r формата в iTunes->iPhone->Рингтоны
2. В iPhone вижу лишь 1 мелодию, но зато в нескольких копиях . . .
Потыкался по гуглу с запросами "iPhone глюк с рингтонами" . . .
10, 20, 30 минут . . . безрезультатно . . . методом тыка нашёл выход)))
Решил проблему так:
1. Перетащите мелодии сначала в iTunes->Медиатека->Рингтоны
2. Из iTunes->Медиатека->Рингтоны перетащите в iTunes->iPhone->Рингтоны
3. Все мелодии нормально видны из айфона.
Не ожидал от Apple такой подставы, если честно . . .
Интересно, была бы у меня эта проблема, если б я пользовался синхронизацией?
И ещё при прослушивании рингтонов звук идёт не только из наушников,
но и из динамиков . . . очень неудобно . . . не зря же я наушники воткнул?
З.Ы.
ТТХ: [iTunes 8.0.1 (Windows Vista 32)] + [iPhone 3G FW 2.1 (official)]
Читать дальше
понедельник, 13 октября 2008 г.
The Neo Cube
Достаточно непросто купить эту головоломку в России.
Тем не менее появились несколько сайтов, где можно заказать Neo Cube.
Связанные ссылки:
1. TheNeoCube.com
2. TheNeoCube.ru
3. MagnetBalls.ru
4. icq: 468-857-140 (1200р)
Я купил в Magnet Balls за 1500р по почте, оплата наложенным платежом.
Шарики хорошего качества, руки после игры железом не пахнут)))
Остался доволен, правда он не такой уж и послушный как на видео)))
Например, кубик ровно на 2 части разломить оо-очень непросто . . .
А в кубик шарики сложить вообще не мог первые 20-30 минут)))))
Читать дальше
воскресенье, 28 сентября 2008 г.
Японский::Хирагана
Оптимисты учат английский.
Пессимисты зубрят китайский.
А реалисты осваивают автомат Калашникова...
И только японский... изучают для души!
Хира́гана (яп. 平仮名) — японская слоговая азбука, одна из составляющих японской письменности наряду с катаканой, кандзи, арабскими цифрами и ромадзи (латинским алфавитом). Хирагана и катакана вместе составляют систему каны, в которой один символ выражает одну мору. Знак каны может передавать гласный звук (например, а あ); сочетание согласного с последующей гласной (например, та た), либо назальный сонант н ん, который, в зависимости от контекста, может звучать как русские н, м, английский ng (IPA ŋ) или как французские назальные гласные.
Полезные ссылки в порядке уменьшения релевантности:
1. http://www.komi.com/japanese/
2. http://kanji.dersu.ru
3. http://nihongo.aikidoka.ru/
Словари: Yarxi и Jardic
Незаменимое: http://translate.google.ru
Читать дальше
Пессимисты зубрят китайский.
А реалисты осваивают автомат Калашникова...
И только японский... изучают для души!
(© www.komi.com)
Хира́гана (яп. 平仮名) — японская слоговая азбука, одна из составляющих японской письменности наряду с катаканой, кандзи, арабскими цифрами и ромадзи (латинским алфавитом). Хирагана и катакана вместе составляют систему каны, в которой один символ выражает одну мору. Знак каны может передавать гласный звук (например, а あ); сочетание согласного с последующей гласной (например, та た), либо назальный сонант н ん, который, в зависимости от контекста, может звучать как русские н, м, английский ng (IPA ŋ) или как французские назальные гласные.
Полезные ссылки в порядке уменьшения релевантности:
1. http://www.komi.com/japanese/
2. http://kanji.dersu.ru
3. http://nihongo.aikidoka.ru/
Словари: Yarxi и Jardic
Незаменимое: http://translate.google.ru
Читать дальше
Ярлыки:
изучение,
лингвистика,
хирагана,
японский
воскресенье, 21 сентября 2008 г.
Kalyway MAC OS X 10.5.5 Update
У меня сейчас стоит Kalyway 10.5.3 Update на Kalyway 10.5.2 Intel.
Для последнего iPhone SDK for iPhone OS 2.1 (9M2517) (1.38 GB),
нужна система не ниже MAC OS X 10.5.4 . . .
1. Скачиваем MAC OS X 10.5.5 Combo Update(601MB)
2. Запускаем Terminal.app, пишу команды:
Консоль оставляем открытой.
3. Начинаем устанавливать скачанный MacOSXUpdCombo10.5.5.dmg (610MB) После окончания установки НЕ НАЖИМАЕМ перезагрузить.
4. В консоли нажимаем Ctrl+C для остановки цикла, а затем открываем файл "/System/InstallAtStartup/scripts/1" в текстовом редакторе. Находим там строку "/System/Library/Extensions/Dont Steal Mac OS X.kext" и заменяем ее на "/System/Library/Extensions/dsmos.kext". Сохраняем и жмём на перезагрузку в апдэйтере.
5. При первом запуске система не дойдет до GUI (графической оболочки), что-то поделает и перезагрузится. Во второй раз запускайте с параметром "-v". После того, как вы увидите рабочий стол, можно, для профилактики, обновить кеш фреймворков, в консоли пишем: "sudo update_prebinding -debug -force -root /"
У меня после обновления перестали работать тачпад, клаватура и сетевая карта. Щас вот ищу необходимые дрова . . .
1) Починил работу Marvell Yukon 88E8055
"IOPCISecondaryMath" = "0x10c11734"
2) PS/2 тачпад и клавиатуру тоже починил с помощью архива:
http://rapidshare.com/files/147454425/PS2_Batt_Working.zip.html
(целый день искал его . . . в итоге через бут двд права проставлял)
Читать дальше
Для последнего iPhone SDK for iPhone OS 2.1 (9M2517) (1.38 GB),
нужна система не ниже MAC OS X 10.5.4 . . .
1. Скачиваем MAC OS X 10.5.5 Combo Update(601MB)
2. Запускаем Terminal.app, пишу команды:
sudo -s
*Ввожу пароль*
while sleep 1; do rm -rf /System/Library/Extensions/AppleIntelCPUPowerManagement.kext; done
Консоль оставляем открытой.
3. Начинаем устанавливать скачанный MacOSXUpdCombo10.5.5.dmg (610MB) После окончания установки НЕ НАЖИМАЕМ перезагрузить.
4. В консоли нажимаем Ctrl+C для остановки цикла, а затем открываем файл "/System/InstallAtStartup/scripts/1" в текстовом редакторе. Находим там строку "/System/Library/Extensions/Dont Steal Mac OS X.kext" и заменяем ее на "/System/Library/Extensions/dsmos.kext". Сохраняем и жмём на перезагрузку в апдэйтере.
5. При первом запуске система не дойдет до GUI (графической оболочки), что-то поделает и перезагрузится. Во второй раз запускайте с параметром "-v". После того, как вы увидите рабочий стол, можно, для профилактики, обновить кеш фреймворков, в консоли пишем: "sudo update_prebinding -debug -force -root /"
У меня после обновления перестали работать тачпад, клаватура и сетевая карта. Щас вот ищу необходимые дрова . . .
1) Починил работу Marvell Yukon 88E8055
"IOPCISecondaryMath" = "0x10c11734"
2) PS/2 тачпад и клавиатуру тоже починил с помощью архива:
http://rapidshare.com/files/147454425/PS2_Batt_Working.zip.html
(целый день искал его . . . в итоге через бут двд права проставлял)
Читать дальше
пятница, 12 сентября 2008 г.
Загадка про сумму и произведение двух чисел.
Загадка:
Некто загадал двум мудрецам два натуральных числа, больших 1, сумма которых меньше 100. Мудрецу "С" Некто сообщил сумму загаданных чисел, мудрецу "П" - произведение.
Далее произошел следующий диалог:
а) "П": Я не знаю, что это за числа.
б) "С": Я заранее знал, что ты не знаешь, что это за числа.
в) "П": Теперь я знаю, что это за числа.
г) "С": Тогда и я знаю, что это за числа.
Какие числа загадал некто?
Читать дальше
Некто загадал двум мудрецам два натуральных числа, больших 1, сумма которых меньше 100. Мудрецу "С" Некто сообщил сумму загаданных чисел, мудрецу "П" - произведение.
Далее произошел следующий диалог:
а) "П": Я не знаю, что это за числа.
б) "С": Я заранее знал, что ты не знаешь, что это за числа.
в) "П": Теперь я знаю, что это за числа.
г) "С": Тогда и я знаю, что это за числа.
Какие числа загадал некто?
Читать дальше
Ярлыки:
головоломка,
загадка,
логика
четверг, 4 сентября 2008 г.
Оптимизация настроек Mozilla Firefox
Последние 4 года я пользуюсь браузером Mozilla Firefox, он меня полностью устраивает в плане скорости, удобности и потребления памяти. Но, случается, ни с того, ни с сего памяти он жрёт ОгОгО((( Бывает метров по 200-300, а то и более. Благодаря гибкости Firefox в его настройках возможно снизить потребление памяти и увеличить скорость работы на столько, на сколько это возможно.
1. Снизить поедание RAM-а, который используется для кэширования:
* Набрать “about:config” в адресной строке Firefox
* “browser.sessionhistory.max_total_viewer” = “0″
2. Увеличить скорость загрузки страницы:
* Набрать “about:config” в адресной строке Firefox
* “network.http.pipelining” = “true”
* “network.http.proxy.pipelining” = “true”
* “network.http.pipelining.maxrequests” = “30″ (30 запросов за раз)
* Создать New->Integer: “nglayout.initialpaint.delay” = “0″
* Создать New->Boolean: “network.dns.disableIPv6″ = “false”
* “content.notify.backoffcount” = “5″
* “plugin.expose_full_path” = “true”
* “ui.submenuDelay” = “0″ (ноль)
3. Снизить поедание RAM-а до 10МБ когда Firefox свёрнут:
* Набрать “about:config” в адресной строке Firefox
* Создать New->Boolean: “config.trim_on_minimize” = “true”
* Перезагрузить Firefox
Читать дальше
1. Снизить поедание RAM-а, который используется для кэширования:
* Набрать “about:config” в адресной строке Firefox
* “browser.sessionhistory.max_total_viewer” = “0″
2. Увеличить скорость загрузки страницы:
* Набрать “about:config” в адресной строке Firefox
* “network.http.pipelining” = “true”
* “network.http.proxy.pipelining” = “true”
* “network.http.pipelining.maxrequests” = “30″ (30 запросов за раз)
* Создать New->Integer: “nglayout.initialpaint.delay” = “0″
* Создать New->Boolean: “network.dns.disableIPv6″ = “false”
* “content.notify.backoffcount” = “5″
* “plugin.expose_full_path” = “true”
* “ui.submenuDelay” = “0″ (ноль)
3. Снизить поедание RAM-а до 10МБ когда Firefox свёрнут:
* Набрать “about:config” в адресной строке Firefox
* Создать New->Boolean: “config.trim_on_minimize” = “true”
* Перезагрузить Firefox
Читать дальше
Ярлыки:
настройки,
оптимизация,
Firefox,
Mozilla
вторник, 2 сентября 2008 г.
Конвертер систем счисления
Решил написать простенькую программку - конвертер чисел в различные системы счисления. Скачать архив с программой и её и исходниками можно тут: QBase_sources.rar(10.4Кб). Сама программа написана на C++ с использованием кроссплатформенной графической библиотеки Qt.
Весь программный код описан ниже.
#include <QtGui/QApplication>
#include <QtGui/QMainWindow>
#include <QComboBox>
#include <QLineEdit>
#include <QHBoxLayout>
#include <QVBoxLayout>
class QBase : public QWidget
{
Q_OBJECT
private:
QComboBox *m_baseFrom, *m_baseTo;
QLineEdit *m_inputNumber, *m_outputNumber;
public:
QBase(QWidget *parent = 0, Qt::WFlags flags = 0);
~QBase();
private slots:
void convert(const QString & text);
void toConvert();
};
QBase::QBase(QWidget *parent, Qt::WFlags flags)
: QWidget(parent, flags)
{
QHBoxLayout *mainLayout = new QHBoxLayout(this);
QVBoxLayout *leftLayout = new QVBoxLayout;
QVBoxLayout *rightLayout = new QVBoxLayout;
mainLayout->addLayout(leftLayout);
mainLayout->addLayout(rightLayout);
m_baseFrom = new QComboBox;
leftLayout->addWidget(m_baseFrom);
for (int i=2; i<=10; i++)
m_baseFrom->addItem(QString("%1").arg(i));
m_baseFrom->addItem("16");
m_baseFrom->setCurrentIndex(8);
m_baseTo = new QComboBox;
rightLayout->addWidget(m_baseTo);
for (int i=2; i<=10; i++)
m_baseTo->addItem(QString("%1").arg(i));
m_baseTo->addItem("16");
m_baseTo->setCurrentIndex(9);
m_inputNumber = new QLineEdit;
leftLayout->addWidget(m_inputNumber);
m_outputNumber = new QLineEdit;
rightLayout->addWidget(m_outputNumber);
m_outputNumber->setReadOnly(true);
connect( m_inputNumber, SIGNAL(textChanged(QString)),
this, SLOT(convert(QString)) );
connect( m_baseFrom, SIGNAL(currentIndexChanged(int)),
this, SLOT(toConvert()) );
connect( m_baseTo, SIGNAL(currentIndexChanged(int)),
this, SLOT(toConvert()) );
m_inputNumber->setFocus(Qt::OtherFocusReason);
setTabOrder(m_inputNumber, m_baseFrom);
setTabOrder(m_baseFrom, m_baseTo);
m_outputNumber->setFocusPolicy(Qt::NoFocus);
}
QBase::~QBase() {
delete m_baseFrom;
delete m_baseTo;
delete m_inputNumber;
delete m_outputNumber;
}
void QBase::convert(const QString & text) {
bool b;
int baseFrom = m_baseFrom->currentText().toInt(&b,10);
int baseTo = m_baseTo->currentText().toInt(&b,10);
QString str = QString("%1").arg(text.toInt(&b,baseFrom),0,baseTo);
if (!m_inputNumber->text().length())
m_outputNumber->setText("");
else if (!b || (text[0]=='-') || (text[0]=='+'))
m_outputNumber->setText("Invalid number");
else
m_outputNumber->setText(str);
}
void QBase::toConvert() {
convert(m_inputNumber->text());
}
int main(int argc, char *argv[]) {
QApplication a(argc, argv);
QBase w;
w.show();
a.connect(&a, SIGNAL(lastWindowClosed()), &a, SLOT(quit()));
return a.exec();
}
* This source code was highlighted with Source Code Highlighter.
Если установлен интегратор Qt в MicroSoft Visual Studio, то распакуйте исходники из архива в одну папку, запустите Visual Studio и в меню выберите пункт "Qt"->"Open Solution from .pro File" и укажите путь к файлу QBase.pro. В этом случае Visual Studio сама создаст проект.
Читать дальше
Ярлыки:
программирование,
система счисления,
c++,
qt
Моддинг Win+R
Сегодня сделал небольшой моддинг своей винды. Модернизировал диалоговое окошко "Пуск->Выполнить...", также известное как Win+R.
Сделал это следующим образом:
1) Открыл файл c:\windows\system32\shell32.dll в программе Resource Hacker. Выбрал ресурс Shell32.dll:\Dialog\1003\1049 и поменял в нём код:
на код:
2) Действуя аналогично, изменил значения в файле c:\windows\system32\taskmgr.exe. Поменял значение строки taskmgr:\String Table\626\1049:
заменил на:
3) Загрузился с Live-CD (любая другая ОС) и подменил файлы c:\windows\system32\shell32.dll и c:\windows\system32\taskmgr.exe на новые, не забыв сделать резервные копии оригинальных файлов))
З.Ы.
И кстати, всё может вернуться назад когда вы обновите винду, а может и не вернуться . . .
Читать дальше
Сделал это следующим образом:
1) Открыл файл c:\windows\system32\shell32.dll в программе Resource Hacker. Выбрал ресурс Shell32.dll:\Dialog\1003\1049 и поменял в нём код:
1003 DIALOGEX 0, 0, 227, 95
STYLE DS_FIXEDSYS | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Запуск программы"
LANGUAGE LANG_RUSSIAN, 0x1
FONT 8, "MS Shell Dlg"
{
CONTROL 160, 12297, STATIC, SS_ICON | WS_CHILD | WS_VISIBLE, 7, 11, 18, 20
CONTROL "Введите имя программы, папки, документа или ресурса Интернета, и Windows откроет их.", 12289, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 42, 11, 182, 18
CONTROL "&Открыть:", 12305, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 7, 39, 32, 8
CONTROL "", 12298, COMBOBOX, CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_DISABLENOSCROLL | WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_TABSTOP, 42, 37, 177, 100
CONTROL "Запустить в отдельной области &памяти", 12306, BUTTON, BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_TABSTOP, 42, 54, 183, 10
CONTROL "ОК", 1, BUTTON, BS_DEFPUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 62, 70, 50, 14
CONTROL "Отмена", 2, BUTTON, BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 116, 70, 50, 14
CONTROL "Об&зор...", 12288, BUTTON, BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 170, 70, 50, 14
}
на код:
1003 DIALOGEX 0, 0, 237, 110
STYLE DS_FIXEDSYS | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Запуск программы"
LANGUAGE LANG_RUSSIAN, 0x1
FONT 8, "MS Shell Dlg"
{
CONTROL "\"taskmgr\" - Диспетчер задач\n\"regedit\" - Редактор реестра\n\"msconfig\" - Настройка системы\n\"services.msc\" - Список сервисов\n\"dcomcnfg\" - Служба компонентов\n\"compmgmt.msc\" - Управление ПК\n\"devmgmt.msc\" - Диспетчер утр-в\n\"wupdmgr\" - Обновление системы", 12289, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 5, 3, 118, 65
CONTROL "\"dxdiag\" - Ср-во диагностики\n\"eventvwr.msc\" - События\n\"dfrg.msc\" - Дефрагментация\n\"fsquirt\" - Bluetooth manager\n\"shutdown -a\" - Не выключать\n\"charmap\" - Таблица символов\n\"osk\" - Экранная клавиатура\n\"iexpress\" - IExpress 2.0", 12289, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 129, 3, 104, 65
CONTROL "&Открыть:", 12305, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 17, 74, 32, 8
CONTROL "", 12298, COMBOBOX, CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_DISABLENOSCROLL | WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_TABSTOP, 52, 72, 177, 100
CONTROL "З", 12306, BUTTON, BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 24, 90, 20, 10
CONTROL "ОК", 1, BUTTON, BS_DEFPUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 72, 90, 50, 14
CONTROL "Отмена", 2, BUTTON, BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 126, 90, 50, 14
CONTROL "Об&зор...", 12288, BUTTON, BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 180, 90, 50, 14
}
2) Действуя аналогично, изменил значения в файле c:\windows\system32\taskmgr.exe. Поменял значение строки taskmgr:\String Table\626\1049:
10002, "Введите имя программы, папки, документа или ресурса Интернета, и Windows откроет их."
заменил на:
10002, "\"taskmgr\" - Диспетчер задач\n\"regedit\" - Редактор реестра\n\"msconfig\" - Настройка системы\n\"services.msc\" - Список сервисов\n\"dcomcnfg\" - Служба компонентов\n\"compmgmt.msc\" - Управление ПК\n\"devmgmt.msc\" - Диспетчер утр-в\n\"wupdmgr\" - Обновление системы"
3) Загрузился с Live-CD (любая другая ОС) и подменил файлы c:\windows\system32\shell32.dll и c:\windows\system32\taskmgr.exe на новые, не забыв сделать резервные копии оригинальных файлов))
З.Ы.
И кстати, всё может вернуться назад когда вы обновите винду, а может и не вернуться . . .
Читать дальше
понедельник, 1 сентября 2008 г.
Первое сообщение
Сегодня, 1 сентября 2008 . . .
С началом нового учебного года решил завести этот блог. Ещё не знаю, что буду сюда писать. Но хочется что-нибудь полезное. Может это будут важные для меня новости, может какие-то программы, может просто ссылки. Жаль у гугла всё ещё нет файлового хранилища. Если нужно будет что-то выложить, наверно сделаю это на http://narod.yandex.ru/
Читать дальше
С началом нового учебного года решил завести этот блог. Ещё не знаю, что буду сюда писать. Но хочется что-нибудь полезное. Может это будут важные для меня новости, может какие-то программы, может просто ссылки. Жаль у гугла всё ещё нет файлового хранилища. Если нужно будет что-то выложить, наверно сделаю это на http://narod.yandex.ru/
Читать дальше
Ярлыки:
день рождения,
праздник
Подписаться на:
Сообщения (Atom)