I'd like to write custom providers for start menu searching, but I can't seem to find where to begin.
Things I'd like to be able to do when I type in the search box on the start menu
Type "thomas" and see "IM Thomas" (if a Pidgin/whatever-IM-client-with-API contact exists with the name match)
Type "=1+2*3" and see "7", or "=2 gallons in ounces" and see "256"
Anything else I can think up where I have a store of custom data results that could be launched from the start menu. This would be especially useful for custom applications, letting our users type "order XYZ", which would search orders in the application and let the user open them from the start menu.
I'm not looking for a tool to do this for me. Rather, I'd like to find any documentation on writing custom search result providers, ideally in C#.
I believe you are looking for the Windows 7 API Code Pack for .NET.
On a related note, you can add all kinds of searches to your favourites in Windows Explorer. Check out Windows 7 Search Federation Providers.
Scott Hanselman's blog covers how to create a simple search connector by creating .osdx files, which are XML files that configure which URL(s) to invoke with the search terms. He then shows how to enable those connectors from within the start menu itself by adding entries to the registry.
You might want to look into SlickRun a search bar alternate/replacement. While I dont think it can be put in the place of the actual start menu search, going to thier site and getting involved will probably get you a lot closer to where you want to go.
For all I know, the functionality you describe may already be an option.
I just discovered Start++, which has plug-in support (it appears to use JavaScript with Windows Scripting Host).
Related
I am currently developing a Word-Completion application in C# and after getting the UI up and running, keyboard hooks set, and other things of that nature, I came to the realization that I need a WordList. The only issue is, I cant seem to find one with the appropriate information. I also don't want to spend an entire week formatting and gathering a WordList by hand.
The information I want is something like "TheWord, The definition, verb/etc."
So, it hit me. Why not download a basic word list with nothing but words(Already did this; there are about 109,523 words), write a program that iterates through every word, connects to the internet, retrieves the data(definition etc) from some arbitrary site, and creates XML data from said information. It could be 100% automated, and I would only have to wait for maybe an hour depending on my internet connection speed.
This however, brought me to a few questions.
How should I connect to a site to look up these words? << This my actual question.
How would I read this information from the website?
Would I piss off my ISP or the website for that matter?
Is this a really bad idea? Lol.
How do you guys think I should go about this?
EDIT
Someone noticed that Dictionary.com uses the word as a suffix in the url. This will make it easy to iterate through the word file. I also see that the webpage is stored in XHTML(Or maybe just HTML). Here is the source for the Word "Cat". http://pastebin.com/hjZj6AC1
For what you marked as your actual question - you just need to download the data from the website and find what you need.
A great tool for this is CsQuery which allows you to use jquery selectors.
You could do something like this:
var dom = CQ.CreateFromUrl("http://www.jquery.com");
string definition = dom.Select(".definitionDiv").Text();
I'm trying to create a wpf application such as a movies library because i would like to manage and sort out my movies with a pretty interface.
I'd like to create a library with all my movies getting information from the web, but i don't know how very well.
I thought to get the information from a web site, for example imdb, but i don't know if it's legally to capture html from page to get the nested information.
It's my first desktop application and I would also like to know if it is necessary to create a database within the project and then create a setup project with specified script for deploy it.
Sorry for the confusion but i would like to know too much things :)
Thanks a lot in advance.
The legality of web scraping is a grey area. See my question, "Legality of Web Scraping vs Normal Use" and the corresponding answers for some insight.
Even if the legality is not a problem, web scraping is a flimsy approach because the webpage structure may change without notice, making your application suddenly useless until you update it to the new format. You are much better off using some sort of web API (if the site providing the information offers it).
Whether you need a database or not depends entirely on what your application will be doing and how you design it - it's not something any of us can tell you.
Same goes for the setup project - in fact I wouldn't worry about that until you actually have a working application. Take it step by step and keep the scope within control.
Yes I did not think about api.
It's a great idea, maybe use "themoviedb".
But if i create an application based on it, that has to show all the movies that you have stored on your hdd and get , for example, the posters, the description and the ranking, i have to create a database according to you?
Thanks a lot.
I'm trying to find out in a prerequisite checker tool (written in C#), if Internet Explorer has enabled JavaScript. I don't want to change it ... just read out the information. Is that available somewhere in the registry?
First you need to know what security zone the website(s) that needs javascript would fall under.
When you know what zone you are looking for you can find it under SOFTWARE\Windows\CurrentVersion\Internet Settings\Zones...
The parameters are not humanreadable though so you'd need to lookup some information regarding those.
However it all feels a bit sketchy doing it this way
I hope that someone can give you a better answer than mine, at least a simpler.
I think modernizr is what you're looking for, it enables you to read the supported features from the HTML tag of your web page.
See:
http://www.modernizr.com/
We have a company intranet and the powers that be think it would be nice to have a collection of icons/links representing the applications that most reps use (Outlook, Excel, few other apps).
The idea would be that if the application is installed, clicking the link/icon would launch the application on the client machine.
Anyone ever had a requirement like that and been successful implementing it?
Wanted to reach out to everyone before I go back and say no. Thanks in advance for any replies.
Make each button be a link to download a company template file for the given application. For example, the "Excel" button would download and the user should be prompted to open it with Excel.
For instance, try clicking one of the links here:
http://www.google.com/#sclient=psy&hl=en&q=template+filetype:xls
Linking to static files on the web server should be sufficient, so long as your server sends the correct MIME-Type or Content-Type.
You will probably have to adjust browsers' security settings to allow them to follow the links, but you should be able to use URLs of the form file:///C:\\Program Files\\Notepad.exe (You might prefer to use normal slashes / instead, as you don't have to watch out for how many copies of \ are needed to get past quoted string interpretation in whatever you're using to design the web page(s).
Using IE on a local intranet we have implemented this in an ActiveX control. Josh Pearce's solution works for those types of apps with MIME types, but not all apps you may wish to open would work this way.
this is my first visit to stackoverflow and right now I feel very comfortable with this site.
It already helped me to get the FiddlerCore embedded into MS Visual C# 2008 Express Edition.
Just needed to create a reference(Verweis) to the fiddlercore dll from Project Explorer(Projektmappenexplorer) in MS Visual C# EE. Hope this are the names for it in the english version. After this you can use Fiddler.FiddlerApplication stuff etc.
What is my task?
I want to create a small program which is able to use the FiddlerCore to check the bodies of requests/responds for special JavaScript Code.
This enables the developers to check wether their code is valid in another versions of there Browser (especially from IE 6.x to IE 8.x) or not. To be able to do so, I need to know:
How can I check the content of a requested or responded file for a String?
This must have something to do with the Text View Inspector (Fiddler), but I cannot find a possibility to access it with .net code or within Fiddler which would also help a lot already.
I should be able to finish the remaining stuff with some search by google or stackoverflow.
As this is my first time with .net languages this will be very interesting and demanding.
Take a look at this example. In the BeforeResponse callback a Fiddler.Session is passed as argument. This object has a method called GetResponseBodyAsString. As its name suggest you may try using it to get the response text. There's also a GetRequestBodyAsString method for the request.