Wed 19 Feb 2014

I have came through below wiki article on Microsoft technet, which have a nice collection of eBooks and articles on Microsoft Technologies.

Download content for SharePoint, Lync, MS Office, SQL Server, System Center, Visual Studio, Web Development (asp.net), Windows Server, Window Azure, Windows Phone and other Microsoft technologies in e-book formats (references, guide, and step-by-step).

 

E-Book Gallery for Microsoft Technologies

 

Source: social.technet.microsoft.com/wiki/contents/articles/11608.e-book-gallery-for-microsoft-technologies.aspx (Monica Rush)
Source: mstechtalk.com/collection-of-e-book-and-articles-on-microsoft-technologies/ (Adnan Amin)

 

E-mail this post to someone or Comments here
Mon 26 Dec 2011

 

Installing XP on computer with SATA hard drive

I recently come across with a problem downgrading a computer comes with Windows 7 to Windows XP, but during setup following error appears telling about Virus or Checkdisk /F bla bla bla,

 

***STOP: 0x0000007B (0xf78d2524, 0xc0000034, 0x00000000, 0x00000000)

 

Dont' worry, give following a try, might be it will work for you aswell,

 

Go to Computer BIOS by pressing F2 or F10 or Del depending on your computer

Go to Storage Option / Drive Configuration

Search for option saying SATA Emulation and change this to IDE from AHCI.

Accept / Save your setting by pressing F10 or Save and Exit

Run Windows XP Setup again

 

Hope it will work 

 

E-mail this post to someone or Comments here
Mon 5 Oct 2009

Today I was getting following error while writing to Event Log on Windows 2008 Server (also applicable to windows 2003 server) using .NET

The resolution worked for me was appending (A;;0x3;;;AU) in CustomSD without quotes under HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Eventlog\EventLogName in windows registry where AU is referring to "Authenticated Users". Because in W2K3, the security of Application Event Log is controlled by CustomSD.
After appending the value would be similier to

O:BAG:SYD:(D;;0xf0007;;;AN)(D;;0xf0007;;;BG)(A;;0x f0007;;;SY)(A;;0x7;;;BA)(A;;0x7;;;SO)(A;;0x3;;;IU)(A;;0x3;;;SU)(A;;0x3;;;S-1-5-3)(A;;0x3;;;AU)


If CustomSD doesnt exists, then create a string named CustomSD and set its value to O:BAG:SYD:(A;;0x3;;;AU)

 P.S. Be careful by taking proper backup of registry before doing any change to it.

 

 

E-mail this post to someone or Comments (1)
Thu 3 Sep 2009

1)Right click on your desktop,
2)Click New
3)Click Shortcut
4)In type the location of the item, copy & paste following
"%ProgramFiles%\Microsoft Office\Office12\Outlook.exe" /nopreview
where Office12 in above is the version of Office. It may be Office11 etc so change it accordingly
5)Click Next
6)Click Finish

Now double click the above created shortcut to open outlook. You are done with turning off reading pane


 

E-mail this post to someone or Comments here
Mon 3 Aug 2009
Locale ID (LCID) Chart

Updated: August 2009

The following table lists Locale IDs (LCID).

Locale description

Short string

Hexadecimal value

Decimal value

Afrikaans

af

0x0436

1078

Albanian

sq

0x041C

1052

Arabic - United Arab Emirates

ar-ae

0x3801

14337

Arabic - Bahrain

ar-bh

0x3C01

15361

Arabic - Algeria

ar-dz

0x1401

5121

Arabic - Egypt

ar-eg

0x0C01

3073

Arabic - Iraq

ar-iq

0x0801

2049

Arabic - Jordan

ar-jo

0x2C01

11265

Arabic - Kuwait

ar-kw

0x3401

13313

Arabic - Lebanon

ar-lb

0x3001

12289

Arabic - Libya

ar-ly

0x1001

4097

Arabic - Morocco

ar-ma

0x1801

6145

Arabic - Oman

ar-om

0x2001

8193

Arabic - Qatar

ar-qa

0x4001

16385

Arabic - Saudi Arabia

ar-sa

0x0401

1025

Arabic - Syria

ar-sy

0x2801

10241

Arabic - Tunisia

ar-tn

0x1C01

7169

Arabic - Yemen

ar-ye

0x2401

9217

Armenian

hy

0x042B

1067

Azeri - Latin

az-az

0x042C

1068

Azeri - Cyrillic

az-az

0x082C

2092

Basque

eu

0x042D

1069

Belarusian

be

0x0423

1059

Bulgarian

bg

0x0402

1026

Catalan

ca

0x0403

1027

Chinese - China

zh-cn

0x0804

2052

Chinese - Hong Kong SAR

zh-hk

0x0C04

3076

Chinese - Macau SAR

zh-mo

0x1404

5124

Chinese - Singapore

zh-sg

0x1004

4100

Chinese - Taiwan

zh-tw

0x0404

1028

Croatian

hr

0x041A

1050

Czech

cs

0x0405

1029

Danish

da

0x0406

1030

Dutch - Netherlands

nl-nl

0x0413

1043

Dutch - Belgium

nl-be

0x0813

2067

English - Australia

en-au

0x0C09

3081

English - Belize

en-bz

0x2809

10249

English - Canada

en-ca

0x1009

4105

English - Caribbean

en-cb

0x2409

9225

English - Ireland

en-ie

0x1809

6153

English - Jamaica

en-jm

0x2009

8201

English - New Zealand

en-nz

0x1409

5129

English - Phillippines

en-ph

0x3409

13321

English - Southern Africa

en-za

0x1C09

7177

English - Trinidad

en-tt

0x2C09

11273

English - Great Britain

en-gb

0x0809

2057

English - United States

en-us

0x0409

1033

Estonian

et

0x0425

1061

Farsi

fa

0x0429

1065

Finnish

fi

0x040B

1035

Faroese

fo

0x0438

1080

French - France

fr-fr

0x040C

1036

French - Belgium

fr-be

0x080C

2060

French - Canada

fr-ca

0x0C0C

3084

French - Luxembourg

fr-lu

0x140C

5132

French - Switzerland

fr-ch

0x100C

4108

Gaelic - Ireland

gd-ie

0x083C

2108

Gaelic - Scotland

gd

0x043C

1084

German - Germany

de-de

0x0407

1031

German - Austria

de-at

0x0C07

3079

German - Liechtenstein

de-li

0x1407

5127

German - Luxembourg

de-lu

0x1007

4103

German - Switzerland

de-ch

0x0807

2055

Greek

el

0x0408

1032

Hebrew

he

0x040D

1037

Hindi

hi

0x0439

1081

Hungarian

hu

0x040E

1038

Icelandic

is

0x040F

1039

Indonesian

id

0x0421

1057

Italian - Italy

it-it

0x0410

1040

Italian - Switzerland

it-ch

0x0810

2064

Japanese

ja

0x0411

1041

Korean

ko

0x0412

1042

Latvian

lv

0x0426

1062

Lithuanian

lt

0x0427

1063

F.Y.R.O. Macedonia

mk

0x042F

1071

Malay - Malaysia

ms-my

0x043E

1086

Malay – Brunei

ms-bn

0x083E

2110

Maltese

mt

0x043A

1082

Marathi

mr

0x044E

1102

Norwegian - Bokml

no-no

0x0414

1044

Norwegian - Nynorsk

no-no

0x0814

2068

Polish

pl

0x0415

1045

Portuguese - Portugal

pt-pt

0x0816

2070

Portuguese - Brazil

pt-br

0x0416

1046

Raeto-Romance

rm

0x0417

1047

Romanian - Romania

ro

0x0418

1048

Romanian - Republic of Moldova

ro-mo

0x0818

2072

Russian

ru

0x0419

1049

Russian - Republic of Moldova

ru-mo

0x0819

2073

Sanskrit

sa

0x044F

1103

Serbian - Cyrillic

sr-sp

0x0C1A

3098

Serbian - Latin

sr-sp

0x081A

2074

Setsuana

tn

0x0432

1074

Slovenian

sl

0x0424

1060

Slovak

sk

0x041B

1051

Sorbian

sb

0x042E

1070

Spanish - Spain (Traditional)

es-es

0x040A

1034

Spanish - Argentina

es-ar

0x2C0A

11274

Spanish - Bolivia

es-bo

0x400A

16394

Spanish - Chile

es-cl

0x340A

13322

Spanish - Colombia

es-co

0x240A

9226

Spanish - Costa Rica

es-cr

0x140A

5130

Spanish - Dominican Republic

es-do

0x1C0A

7178

Spanish - Ecuador

es-ec

0x300A

12298

Spanish - Guatemala

es-gt

0x100A

4106

Spanish - Honduras

es-hn

0x480A

18442

Spanish - Mexico

es-mx

0x080A

2058

Spanish - Nicaragua

es-ni

0x4C0A

19466

Spanish - Panama

es-pa

0x180A

6154

Spanish - Peru

es-pe

0x280A

10250

Spanish - Puerto Rico

es-pr

0x500A

20490

Spanish - Paraguay

es-py

0x3C0A

15370

Spanish - El Salvador

es-sv

0x440A

17418

Spanish - Uruguay

es-uy

0x380A

14346

Spanish - Venezuela

es-ve

0x200A

8202

Southern Sotho

st

0x0430

1072

Swahili

sw

0x0441

1089

Swedish - Sweden

sv-se

0x041D

1053

Swedish - Finland

sv-fi

0x081D

2077

Tamil

ta

0x0449

1097

Tatar

tt

0X0444

1092

Thai

th

0x041E

1054

Turkish

tr

0x041F

1055

Tsonga

ts

0x0431

1073

Ukrainian

uk

0x0422

1058

Urdu

ur

0x0420

1056

Uzbek - Cyrillic

uz-uz

0x0843

2115

Uzbek – Latin

uz-uz

0x0443

1091

Vietnamese

vi

0x042A

1066

Xhosa

xh

0x0434

1076

Yiddish

yi

0x043D

1085

Zulu

zu

0x0435

1077

E-mail this post to someone or Comments here
Tue 27 Jan 2009

Experts are warning that hackers have yet to activate the payload of the Conficker virus.

Clock ticking on worm attack code.jpg

The worm is spreading through low security networks, memory sticks, and PCs without current security updates.

The malicious program - also known as Downadup or Kido - was first discovered in October 2008.

Although the spread of the worm appears to be levelling off, there are fears someone could easily take control of any and all of the 9.5m infected PCs.

Speaking to the BBC, F-Secure's chief research officer, Mikko Hypponen, said there was still a real risk to users.

"Total infections appear to be peaking. That said, a full count is hard, because we also don't know how many machines are being cleaned. But we estimate there are still more than 9m infected PCs world wide.

"It is scary thinking about how much control they [a hacker] could have over all these computers. They would have access to millions of machines with full administrator rights.

"But they haven't done that yet, maybe they're scared. That's good news. But there is also the scenario that someone else figures out how to activate this worm. That is a worrying prospect."

Experts say users should have up-to-date anti-virus software and install Microsoft's MS08-067 patch. The patch is known as KB958644.

 start_quote_rb.gif Even having the Windows patch won't keep you safeend_quote_rb.gif
Graham Cluley
Sophos

Speaking to the BBC, Graham Cluley, senior technology consultant with anti-virus firm Sophos, said the outbreak was of a scale they had not seen for some time.

"Microsoft did a good job of updating people's home computers, but the virus continues to infect business who have ignored the patch update.

"A shortage of IT staff during the holiday break didn't help and rolling out a patch over a large number of computers isn't easy.

"What's more, if your users are using weak passwords - 12345, QWERTY, etc - then the virus can crack them in short order," he added.

"But as the virus can be spread with USB memory sticks, even having the Windows patch won't keep you safe. You need anti-virus software for that."

Method

According to Microsoft, the worm works by searching for a Windows executable file called "services.exe" and then becomes part of that code.

It then copies itself into the Windows system folder as a random file of a type known as a "dll". It gives itself a 5-8 character name, such as piftoc.dll, and then modifies the Registry, which lists key Windows settings, to run the infected dll file as a service.

Once the worm is up and running, it creates an HTTP server, resets a machine's System Restore point (making it far harder to recover the infected system) and then downloads files from the hacker's web site.

Most malware uses one of a handful of sites to download files from, making them fairly easy to locate, target, and shut down.

But Conficker does things differently.

start_quote_rb.gif  Right now, we're seeing hundreds of thousands of [infected] unique IP addresses end_quote_rb.gif
Toni Koivunen, F-Secure

Anti-virus firm F-Secure says that the worm uses a complicated algorithm to generate hundreds of different domain names every day, such as mphtfrxs.net, imctaef.cc, and hcweu.org. Only one of these will actually be the site used to download the hackers' files. On the face of it, tracing this one site is almost impossible.

Variant

Speaking to the BBC, Kaspersky Lab's security analyst Eddy Willems said that a new strain of the worm was complicating matters.

"There was a new variant released less than two weeks ago and that's the one causing most of the problems," said Mr Willems

"The replication methods are quite good. It's using multiple mechanisms, including USB sticks, so if someone got an infection from one company and then takes his USB stick to another firm, it could infect that network too. It also downloads lots of content and creating new variants though this mechanism.

"Of course, the real problem is that people haven't patched their software," he added.

Microsoft says that the malware has infected computers in many different parts of the world, with machines in China, Brazil, Russia, and India having the highest number of victims.

Source:news.bbc.co.uk/2/hi/technology/7832652.stm

 

E-mail this post to someone or Comments here
Tue 27 Jan 2009

Today I was required to implement detecting the idle time or user inactivity in windows form. Here it is how it works
The theme behind is the usage of MessageFiler that will be intercepting calls (Keyboard / Mouse activities) and usage of System.Windows.Forms.Timer

Step 1.

Create MessageFilter class as

using System;
using System.Windows.Forms;

 public class MessageFilter : IMessageFilter
    {
       //Following are the Windows API hex values. You can find more at http://faisalmb.com/blog/post/2009/01/Values-of-Windows-API.aspx
       // Here we are only interested in only Keyboard and Mouse activities
        private int WM_LBUTTONDOWN = 0x0201;
        private int WM_KEYDOWN = 0x0100;
        private int WM_RBUTTONDOWN = 0x0204;
        private int WM_MBUTTONDOWN = 0x0207;
        private int WM_MOUSEWHEEL = 0x020A;
        private int WM_MOUSEMOVE = 0x0200;

        public bool PreFilterMessage(ref Message m)
        {
            if (m.Msg == WM_MOUSEMOVE || m.Msg == WM_KEYDOWN || m.Msg == WM_LBUTTONDOWN || m.Msg == WM_MOUSEWHEEL || m.Msg == WM_RBUTTONDOWN || m.Msg == WM_MBUTTONDOWN)
            {
                //Reset the timer of form1
                Form1.timerIdle.Stop();
                Form1.timerIdle.Start();
            }
            return false;
        }
    }

Step 2:

In the form where you actually want to implement what to do if user is inactive for particular period, like redirecting to Login page, performing Session / objects cleanup, hiding or locking touchy form etc etc, put following peace of code,

a) Declare static timer as

//Reason for taking this timer as static becasue we need to reset timer in MessageFilter class.
//If don't want to use static then you can implement your own logic. The theme is to reset the timer in MessageFilter on any Keyboard or Mouse activity

internal static Timer timerIdle;

b) Put following initializing code after InitializeComponent or on Form_Load. Note to set Interval of timer to your requirement. Here it is set for 5 minutes.

            timerIdle = new System.Windows.Forms.Timer();
            timerIdle.Enabled = true;
            timerIdle.Interval = 50000; // Idle time period. Here after 5 minutes perform task in  timerIdle_Tick
            timerIdle.Tick += new EventHandler(timerIdle_Tick);

 c) Put following inside your form

        private void timerIdle_Tick(object sender, EventArgs e)
        {
            //Here perform your action by first validating that idle task is not already running.
           // If you want to redirect user to login page, then first check weather login page is already displayed or not
           // if not then show loign page. Same logic for other task or Implement your own.
           // Remember after every five minutes or period you defined above this timerIdle_Tick will be called
           //so first check weather idle task is already running or not. If not then perform
            //if (Login.Visible == false)
            //{
                   //PerformNecessoryActions();
                  //ShowLoginForm();
            //}
        }

 

Step 3.

So far we have created MessageFilter class (On keyboard or mouse activity it will reset the timer of form). In form we have declared and initialize timer. On timer_Tick event we have implement the task which we need to do when user become inactive for particular period of time. Now in last step, Add our MessageFilter class in Application to intercept calls as

static void Main(string[] args)
{
            Application.AddMessageFilter(new MessageFilter());
            Application.Run(new Form1());
}


Hope it helps.

 

E-mail this post to someone or Comments here