К основному контенту

Сообщения

Сообщения за 2013

Программное отключение ctrl+alt+del, at+tab и тому подобного

I wrote an article back in 2007 that is still around the web, in various discussions including  StackOverflow  and  DotNetSpider , so I have decided to re-publish the article. This article was relevant back then - and it wasn't tested on a Windows 7 environment purely due to the fact that it did not exist and please also note that comments are disabled for this post. Before continue reading please note that this article doesn’t intend to call upon you to create nasty applications. If you use this code it should be for your own fun or for learning purposes. After doing some research on disabling keys or key combinations I found out that there are several ways of achieving the before mentioned key combos. CTRL-ALT-DEL combo is part of the SAS ( Secure Attention Sequence) thus the solution to disable this is to write your own gina.dll ( Graphical Identification and Authentication ). Don’t worry, I’m not looking into that as for now, I’m going to show you the work arou...

Сравнение дат в MySQL

Поскольку пишу сейчас программу для библиотеки, пришлось создать такой вот запрос: select (select date_format((current_date),'%m'))-(select date_format((select birthday from users where id = 1),'%m'))+(select date_format((current_date),'%d'))-(select date_format((select birthday from users where id = 1),'%d')); Он нужен для того, чтобы понять, День Рождения сегодня у человека, или нет. С тем же успехом можно использовать его и в других случаях. Думаю, что для человека знающего MySQL пояснения не нужны. Но если что, то пишите. Ну, и если я не прав, используя такой запрос, то предложите лучший.

Базостроение

Как говорится, я просто оставлю это здесь. CREATE TABLE ALLITEMS ( itemid INT ( 10 ) UNSIGNED , itemname VARCHAR ( 50 ) ); ALTER TABLE ALLITEMS CHANGE itemid itemid INT ( 10 ) AUTO_INCREMENT PRIMARY KEY ; DESC ALLITEMS ; INSERT INTO ALLITEMS ( itemname ) VALUES ( 'Apple' ), ( 'Orange' ), ( 'Banana' ); SELECT * FROM ALLITEMS ; I was confused with CHANGE and MODIFY keywords before too : ALTER TABLE ALLITEMS CHANGE itemid itemid INT ( 10 ) AUTO_INCREMENT PRIMARY KEY ; ALTER TABLE ALLITEMS MODIFY itemid INT ( 5 ); While we are there, also note that AUTO_INCREMENT can also start with a predefined number : ALTER TABLE tbl AUTO_INCREMENT = 100; Взято с  http://stackoverflow.com/questions/6957370/alter-table-adding-autoincrement-in-mysql

Удаление ошибочно внесённых записей

Случается, что мы по ошибке копируем не те данные совсем не в ту базу данных. И с этим надо  что-то делать, удалить неверно скопированное. И каким же образом это сделать? Ну, конечно, через запросы! Раз уже такое дело, то в работе с БД частенько приходится рисковать, работая прямо на живую. Я же, запутавшись, скопировал из одного рабочего каталога в генеральный, хотя должен был в другой рабочий. Признаться честно, сначала Я думал написать небольшую программу на каком-нибудь из знакомых языков программирования, но потом во мне вновь включился админ и Я решил отказаться от этой странной затеи, просто поискав возможность подключиться к двум базам данных. И, как оказалось, в моём случае, по-крайней мере, при использовании MS SQL Server 2005 (or later), можно написать несколько простых строк: delete A from db1.dbo.doc A inner join db2.dbo.doc B on A.item like B.item  Вот таким простым и нехитрым способом можно вычистить ошибочно добавленные записи. UPD: после выяс...

Добавление сиглы хранения в Марк SQL

Чтобы добавить новую сиглу хранения в Марк SQL, проще всего написать маленький запрос в модуле "Администратор": UPDATE siglas SET shortname = 'оли' WHERE id = 7 Таким образом можно создать какую угодно сиглу хранения. Быстро и удобно.

Запрещаем менять настройки firefox

Вчера на работе мне понадобилось настроить браузеры Firefox на тонких клиентах нашего интернет-кабинета таким образом, чтобы пользователи не смогли изменить некоторые настройки в браузере и сидеть в интернете в обход прокси. Поиск в интернете и дальнейшая настройка сподвигли меня на написание данной статьи. Здесь я расскажу, как можно заблокировать некоторые параметры браузера от изменения шаловливыми ручками пользователей. Создадим файл  mozilla.txt  с примерно таким содержимым: // lockPref("browser.startup.homepage", "http://habrahabr.ru"); lockPref("network.proxy.type", 1); lockPref("network.proxy.http", "192.168.1.1"); lockPref("network.proxy.http_port", 3128); lockPref("network.proxy.no_proxies_on", "localhost, 127.0.0.1"); Первой строкой обязательно должны идти два символа слэша (//). Названия нужных параметров и их значения можно посмотреть, набрав в браузере  about:config . На этом примере я запрети...

Запретить пользователям изменять настройки Google Chrome

Для запрета нужно использовать политики Хрома. Чтобы их активировать, необходимо скачать архив по этой ссылке -  отсюда  или  отсюда Далее по инструкции: Существует два типа шаблонов: шаблоны ADM и шаблоны ADMX. Вам потребуется определить, какой тип шаблонов можно использовать в вашей сети. В этих шаблонах показано, какие разделы реестра можно задать для настройки Google Chrome и какие значения параметров являются допустимыми. Значения параметров в этих разделах реестра определяют поведение Google Chrome. Настройте параметры сети. Откройте загруженный шаблон ADM или ADMX, выполнив указанные ниже действия. Выберите Пуск > Выполнить: gpedit.msc. Перейдите к узлу Политика локального компьютера > Конфигурация компьютера > Административные шаблоны. Нажмите правой кнопкой мыши Административные шаблоны и выберите Добавление и удаление шаблонов. В открывшемся диалоговом окне добавьте шаблон chrome.adm. В результате в узле Административные шаблоны" появится папка Google/G...

Улучшенное восстановление образов Windows 7/8 при помощи Clonezilla

Если вам доводилось использовать в работе или в личных целях дистрибутив Clonezilla, то вы наверняка сталкивались с проблемой восстановления образа с большего диска на меньший (например, при апгрейде с HDD на SSD без переустановки ОС, или когда в организации много однотипных ПК с дисками разного объема), даже при условии, что данные занимают места гораздо меньше, чем меньший диск. И ключи  -r -icds  помогают не всегда, если вообще помогают. Чтобы решить эту проблему нужно, во-первых, создать образ системы с разделом минимального объема, во-вторых, восстанавливать его на диск с разделом максимального объема и изменить размер файловой системы под этот раздел. Для первого шага нужно удалить из системного раздела  pagefile.sys  и  hiberfil.sys , изменить его размер до минимального (можно даже оставить всего 1МБ свободного места) и загрузить систему один раз (чтобы она выполнила  chkdsk ). После всего этого можно создать образ диска, который будет универсальным....