Your best source of information and news about hardware, hardware and xp on the internet

July 2nd, 2009

You are currently browsing the articles from MS Windows Vista Compatible Software written on July 2nd, 2009.

New Machine: What to install first?


Last year, I published a list of my “Must Have Windows Applications” and I’ll admit, I hit it up when I got my new notebook this week to remind myself of what I needed to download and install. I’m taking a new philosophy with this Notebook: I’m only going to install what I know I need, and what I know I’ll use on a regular basis. If I find I need something I’ll install it then, and only then. I’m going to try to keep this machine as lean and clean as possible. My ultimate goal is to be able to an in-place upgrade to Windows 7 (final) later this year. This should go well from the reports I’ve seen of folks upgrading x64 Vista systems to the x64 Release Candidate of Windows 7, and I’m sure the leaner the machine, the better.

Some of my changes?

First off, I’ve opted not to install Office. I find I rarely use any of the MS Office applications at home, and I haven’t installed Open Office either – I’m actually going to try to stick with using Google Docs once the need arises.

Secondly, I’ve pretty much given up on learning a hard-core programming language (like C#) right now. I simply have to many other things on my plate, and I don’t have the time to devote too it. I did install Microsoft’s new Small Basic as I have had some great fun with it. Reminds me of being a kid hacking around in QBASIC in DOS :-)

I’ve also changed some of my preferences in other tools as you will see below – so here is my current list of “what I install” first off when setting up a new machine:

7zip – Still my favorite archiving application

AVG Free – Still my favorite Anti-Virus solution. It has a small memory footprint and has proven effective and reliable for me.

Google Chrome – Chrome has quickly become my default browser of choice.

Mozilla Firefox – Although Chrome has become my favorite browser, I still (and probably always will) keep Firefox installed.

Filezilla – Great FTP client that has always served me well.

Dropbox – My friend and co-worker Chris Reeder turned me onto Dropbox and I can’t thank him enough! Be sure to check it out for a cheap/free online backup/sync tool!

Hulu Desktop – Who needs TV when you have Hulu? The web version was great, Hulu Desktop takes Hulu into an entirely different dimension – it’s awesome!

iTunes – I don’t have an iPod (yet), and I still manage/play my .mp3 files with WMP, but I use iTunes to listen to live on-line radio streams & podcasts.

Paint.NET – Has all the image editing tools I need.

RoyalTS – Favorite RDP manager (note, you need the older version to have more than 12 connections)

Pidgin – It’s an IM client…it works.

TweetDeck – My new favorite Twitter client, now that I can create groups and sync them across multiple PC’s.

VirtualBox – I think VirtualBox has passed VMware in speed, features, and functionality – best of all? It’s Free!

VLC – Handles all of those media files that won’t open in anything else!

Vista Codec Pack and x64 Additions – Just extra codecs for WMP.

Windows Live Writer – Best blogging editor ever created – hands down!

Notepad2 (or this improved version to be exact) – I use the improved version – it is available as a native x64 application and has an installer which “replaces” Windows Notepad with Notepad2.

Open Command Prompt Shell Extension – I found this on the same site as the improved Notepad2 – adds a useful contextual menu item to open a command prompt in whatever folder you are browsing in Windows Explorer. I’ve found this little utility to be endlessly useful.

So there you have it, my updated list of awesomely useful tools, utilities and applications. What are your favorites?

Written by jaysonrowe on July 2nd, 2009 with no comments.
Read more articles on otherSoftware and Tools and Utilities and Computing and Windows.

Developing for the Windows 7 Taskbar – Jump into Jump Lists – Part 3

So far, you have seen how you can opt into the Windows 7 Taskbar Jump List experience by creating a Jump List for your application (in the Developing for the Windows 7 Taskbar – Jump into Jump Lists – Part 2 post.) You have also seen the Windows 7 default support for listing “Recent” or “Frequent” destinations as well as how to create your own custom categories. In this post, we will explore more of the Jump List features and discover how easy it is to add Tasks to your application's Jump List.

User tasks are customized tasks that get their own Tasks category. As a developer, you can set the title of the displayed task, the icon on the left and, more important, and the “application” that is launched once you activate this task. You can view user’s tasks as shortcuts to the functionality our applications can provide. As you might remember, user tasks are the verbs in our vocabulary; for example, Windows Media Player provides a “Resume last playlist” task and Sticky Notes provides a “New note” task.

A user task is usually an IShellLink object that launches any given application (your application or any other one you choose) with specific command line parameters. While you cannot categorize tasks, you can separate them using a special separator object. Here’s an example of a Jump List that uses a separator to split three tasks into a group of two plus an additional task:

image

So what does it take to add tasks to a Jump List? Well, not that much. Basically it is a single call to the AddUserTasks function in an interface that we are already familiar with, the ICustomDestinationList (ICustomDestinationList::AddUserTasks(IObjectArray) Method). Looking at the code, you will see a single line of code, hr = pcdl->AddUserTasks(poa);. However, as always, someone needs to create and build that poa, IObjectArray, and parameter and fill it with relevant information. Let’s review that process now.

We are going to create a collection of IShellLinks. This collection will be later cast to the required IObjectArray parameter. The following code is the beginning of that process.

IObjectCollection *poc;
HRESULT hr = CoCreateInstance(
D_EnumerableObjectCollection, NULL, CLSCTX_INPROC, IID_PPV_ARGS(&poc));
if (SUCCEEDED(hr))
{
IShellLink * psl;
hr = _CreateShellLink(L"/Task1", L"Task 1", &psl);
if (SUCCEEDED(hr))
{
hr = poc->AddObject(psl);
psl->Release();
}
}

Here you can see that we used COM (again) and CoCreate and IObjectCollection, poc. Next, we call to a helper function called CreateShellLink that receives three parameters:

  • The first parameter is the command line argument to the task
  • The second parameter is the title that will be displayed
  • The last parameter is a pointer to IShellLink

The object is then filed according to the relevant information.

Last, we add the recently created IShellLink to the object collection. You may ask yourself where the parameter that provides the path to the executable that we plan to launch is. Well that is a good question. For simplicity, we have hard-coded that information as shown in the following code snippet:

if (SUCCEEDED(hr))
{
hr = _CreateShellLink2(
L"C:\\Users\\<my user>\\Documents\\new text file.txt",
L"NotePad",
&psl);

if (SUCCEEDED(hr))
{
hr = poc->AddObject(psl);
psl->Release();
}
}

Here you can see we call to a hard-coded _CreateShellLink2 function. This receives a path to a text file as one of its parameters and, as you can see, we are launching Notepad.

Here is the code for the CreateShellLink2 function:

HRESULT _CreateShellLink2(
PCWSTR pszArguments, PCWSTR pszTitle,
IShellLink **ppsl)
{
IShellLink *psl;
HRESULT hr = CoCreateInstance(
CLSID_ShellLink,
NULL,
CLSCTX_INPROC_SERVER,
IID_PPV_ARGS(&psl));
if (SUCCEEDED(hr))
{
hr = psl->SetPath(c_szNotePadExecPath);
if (SUCCEEDED(hr))
{
hr = psl->SetArguments(pszArguments);
if (SUCCEEDED(hr))
{
// The title property is required on Jump List items
// provided as an IShellLink instance. This value is used
// as the display name in the Jump List.
IPropertyStore *pps;
hr = psl->QueryInterface(IID_PPV_ARGS(&pps));
if (SUCCEEDED(hr))
{
PROPVARIANT propvar;
hr = InitPropVariantFromString(pszTitle, &propvar);
if (SUCCEEDED(hr))
{
hr = pps->SetValue(PKEY_Title, propvar);
if (SUCCEEDED(hr))
{
hr = pps->Commit();
if (SUCCEEDED(hr))
{
hr = psl->QueryInterface
(IID_PPV_ARGS(ppsl));
}
}
PropVariantClear(&propvar);
}
pps->Release();
}
}
}
else
{
hr = HRESULT_FROM_WIN32(GetLastError());
}
psl->Release();
}
return hr;
}

To start with, again we need to use COM and CoCreate to create an IShellLink COM object. A quick look at the SDK reveals that the IShellLink object has many functions. Here are few that we will use:

  • GetPath Gets the path and file name of a Shell link object, that is the path to the executable
  • GetShowCmd Gets the show command for a Shell link object, the executable name
  • SetArguments Sets the command-line arguments for a Shell link object
  • SetDescription Sets the description for a Shell link object; the description can be any application-defined string
  • SetIconLocation Sets the location (path and index) of the icon for a Shell link object SetPath Sets the path and file name of a Shell link object
  • SetWorkingDirectory Sets the name of the working directory for a Shell link object

As you can see, for each parameter we must get and set appropriate methods. There are additional parameters; take a look at the SDK - IShellLink if you want to learn more.

In the above example, we set the path to Notepad (by default in the Windows 7 installation, c:\windows\notepad.exe). We also passed a hard-coded (not a good practice) command line argument pointing to a text file in my private document folder (C:\Users\<my user>\Documents\new text file.txt.) The rest of the code sets the title property that is required on Jump List items.

We call the CreateShellLink2 and CreateShellLink a few more times to add all three shortcuts as shown in the above screen capture.

Now let’s add a separator.

To add a separator to our Task List, we need to create an IShellLink, and set the PKEY_AppUserModel_IsDestListSeparator property using the COM property variant as shown in the following code snippet:

// The Tasks category of Jump Lists supports separator items. 
// These are simply IShellLink instances that have the
// PKEY_AppUserModel_IsDestListSeparator property set to TRUE.
// All other values are ignored when this property is set.
HRESULT _CreateSeparatorLink(IShellLink **ppsl)
{
IPropertyStore *pps;
HRESULT hr = CoCreateInstance(
CLSID_ShellLink,
NULL,
CLSCTX_INPROC_SERVER,
IID_PPV_ARGS(&pps));
if (SUCCEEDED(hr))
{
PROPVARIANT propvar;
hr = InitPropVariantFromBoolean(TRUE, &propvar);
if (SUCCEEDED(hr))
{
hr = pps->SetValue(PKEY_AppUserModel_IsDestListSeparator, propvar);
if (SUCCEEDED(hr))
{
hr = pps->Commit();
if (SUCCEEDED(hr))
{
hr = pps->QueryInterface(IID_PPV_ARGS(ppsl));
}
}
PropVariantClear(&propvar);
}
pps->Release();
}
return hr;
}

Here you can see that we used CoCreate to create an IShellLink object. Next, we set a PROPVARIANT, propvar, to true and set the IShellLink object PKEY_AppUserModel_IsDestListSeparator property to true. This will instruct the OS to render this IShellLink as a separator and not just as regular IShellLink.

OK, that was long. Now let’s look at the short version, using .NET. For that we are going to use the Windows API Code pack for the .NET Framework.

As we can expect from .NET, we get abstraction from most of the “COM code behind” that is required. The Microsoft.WindowsAPICodePack.Shell.Taskbar namespace includes a JumpListLink object that extends the ShellLink object and implements IJumpListTasks.

The JumpList class contains the UserTasks collection of IJumpListTasks to which you can simple add new JumpListLink objects as shown in the following code snippet:

// Path to Windows system folder
string systemFolder =
Environment.GetFolderPath(Environment.SpecialFolder.System);

jumpList.UserTasks.Add(new JumpListLink
{
Title = "Open Notepad",
Path = Path.Combine(systemFolder, "notepad.exe"),
IconReference = new IconReference(
(systemFolder, "notepad.exe"), 0)
});

Using the C# 3.0 syntax, we initialize a new JumpListLink object and add it to the UserTasks collection. As you can see, the managed code JumpListLink has very similar properties to the native one (which makes perfect sense). We also added an icon to the Notepad shortcut to the above code, but didn't provide any command line parameters.

You want to add a separator? Well, that is also very easy: just add a JumpListSeperator object to the UserTasks collection.

jumpList.UserTasks.Add(new JumpListSeparator());
Please note that, as always, when working with the Windows Code pack API Taskbar, you have to call the “refresh” function in order to commit the changes, as we explained in the previous post.
Taskbar.JumpList.RefreshTaskbarList();

After the refresh, the Jump List looks as follows:

image

I’ve compiled a version of a native example from the Windows 7 SDK. You can get a copy of that code from here

You can download the Windows API Code Pack that includes the manage code example we used in this post.

This concludes our Jump List discussion. Our next Taskbar topic is Icon Overlay.

Written by Yochay Kiriaty on July 2nd, 2009 with no comments.
Read more articles on otherSoftware and Sample Code and windows 7 and taskbar and .Net and Developers and Microsoft.

What’s new at Talking About Windows.com

If you haven visited Talking About Windows.com in a while, you are missing a lot!

You missed Microsoft Engineers like Ian Burgess talking about the engineering design of DirectAccess and BitLocker and Mario Garzia discussing application compatibility and how Windows 7 works with legacy applications.

You can interact with IT pros like Darren Baker, the National Director of Infrastructure Solutions for Sogeti USA talk about how virtualization and imaging has made implementing Windows 7 in his organization easier.

Talking About Windows.com is your chance to hear what Microsoft Engineers and IT pros like you have to say and gives you a chance to interact with them.

Hear what they have to say and get heard. Join the conversation.

IAN   Darren  

Mario

Written by Stephen L Rose on July 2nd, 2009 with no comments.
Read more articles on otherSoftware.

Problem Fixed by Google in Outlook Sync Tool for Apps

Google has set an fund with the Mindset adjustment agency it released newly for its Apps hosted communications and collaboration suite, Google said Tues.

That means, called Apps Sync for Microsoft Outlook, didn't endeavor symptomless with programs that interact directly with the Look aggregation line, such as Windows Screen Seek. Specifically, Apps Sync, during artefact, incapacitated Windows Desktop Examine, which lets users attain message in Attitude.

Nonetheless, the new edition of Apps Sync for Microsoft Belief now entirety right with Windows Desktop See. The plug-in has ever worked decent with Attitude's person look article, according to Google.

Other replace to the Google way is that it now lets users admittance Windows Springy Hotmail via the Microsoft Staff Prospect Connector plug-in, which the Google slave didn't sustenance before.

Different enhancements to Apps Sync are the noesis to enable or invalid auto-archive during artefact and an developed two-way readjustment of notes in contacts, Google said.

Existing users give get the grade automatically. New users instrument comprehend the new variant here.

Google launched Apps Sync for Microsoft Mindset on June 9 in magnitude to dedicate users the alternative to use Mindset as a confront end to the Gmail and Calendar part of the Premier and Pedagogy editions of Apps.

Currently, the plug-in lets grouping happen e-mail, contacts and calendar items between Mindset and Apps, but it doesn't cater the untasted conservation of features that exist between Attitude and Mercantilism.

This is why a variety of business analysts are recommending that before decisive to follow Transfer with Apps, IT managers run tests of the plug-in to tidy careful that their Look users present not avoid functionality they necessary for their succeed.

The plug-in isn't free to users of the Casebook edition of Apps, which is free and constricted to 50 end-users per land. Apps Sync for Microsoft Look is for Apps' Execute edition, which costs US$50 per somebody annually, and for Apps' Upbringing edition, which is take and aimed at students, teachers and school staffers.

Microsoft didn't move to a petition for statement some the newest writing of the Google plug-in.

Written by magakos on July 2nd, 2009 with no comments.
Read more articles on Computer Support and dell support and hp printer repair and increase internet speed and Computer Help and Microsoft Support and Microsoft Outlook and Computer Repair and otherSoftware and microsoft office.

Linux Other Text Editors

Dozens of text editors are available for use with Linux. Here are a few that might be in your Linux distribution, which you can try out if you find vi to be too taxing.

Nano. A popular, streamlined text editor that is used with many bootable Linuxes and other limited-space Linux environments. For example, nano is often available to edit text files during a Linux install process.

Gedit. The GNOME text editor that runs in the GUI.

Jed. This screen-oriented editor was made for programmers. Using colors, jed can highlight code you create so you can easily read the code and spot syntax errors. Use the Alt key to select menus to manipulate your text.

Joe. The joe editor is similar to many PC text editors. Use control and arrow keys to move around. Press Ctrl+C to exit with no save or Ctrl+X to save and exit.

Kate. A nice-looking editor that comes in the kdebase package. It has lots of bells and whistles, such as highlighting for different types of programming languages and controls for managing word wrap.

Kedit. A GUI-based text editor that comes with the KDE desktop.

Mcedit. With mcedit, function keys help you get around and save, copy, move, and delete text. Like jed and joe, mcedit is screen-oriented.

Nedit. An excellent programmer’s editor. You need to install the optional nedit package to get this editor.

If you use ssh to log in to other Linux computers on your network, you can use any editor to edit files. A GUI-based editor will pop up on your screen. When no GUI is available, you will need a text editor that runs in the shell, such as vi, jed, or joe.

Source of Information : Linux Bible 2008 Edition

Written by magakos on July 2nd, 2009 with no comments.
Read more articles on otherSoftware and Linux.