How do the visual studio notifications work - visual-studio

Anyone who has used recent editions of visual studio will be aware of the little flag in the window chrome that alerts or 'notifies' them of possible upgrades to certain components that they may have installed in visual studio, or indeed to visual studio itself.
I have managed to add a notification icon to my window chrome and I can control its appearance from the window's underlying view model.
My next goal is to try and get it to actually respond to external notifications. Perhaps somewhat predictably my first port of call was a search on Google but almost everything returned referred to Push Notifications. I may well be wrong but somehow I don't get the impression that this is what is controlling the visual studio notifications. I am aware (from having used Advanced Installer and it's auto update facility that it is possible to conduct a search at a specific web address, see if I particular text file there contains new information and then trigger responses based on that.
Would anyone know if that is the sort of thing the visual studio itself does. I'm also intrigued as to how the notifications process keeps track of those items upon which you have acted, those upon which you haven't and whether or not you've actively dismissed all of them. I would love to know the principle of how these have been implemented so that I can look at a way to emulate them in my own application and would welcome any information that can be proffered.
I intend to work in wpf and vb.net but can read c# hence the variety of tags I have appended to the question.

Related

Outlook add-in with global scope (inbox level)

Is there a way to have an outlook add-in that uses a global scope? I want to be able to launch the add-in at any time, but not necessarily relate it to a specific e-mail. According to the documentation I found, the closest thing would be to have it appear as a Module, but then it only works on the desktop version (not the web), and doesn't allow you to view it alongside e-mails. It would be ideal if this could run on the side of the screen, similar to how Skype works on the web version of Outlook, on both the desktop and web versions. Is Skype a special case, or is it possible to build an add-in like that?
Web-based add-ins work in the context of the current item only.
Instead, you may consider developing a browser plug-in which modifies a web page dynamically. And for the desktop editions of Outlook you may consider creating a COM based add-in which allows to customize the UI in the way you need. See Walkthrough: Creating Your First VSTO Add-In for Outlook to get started quickly.

How to record the event that an attachment from Outlook has been clicked to run or downloaded to the disk?

I am developing a solution to monitor security events on Windows.
Two of the events to monitor are:
an attachment from an email (Outlook) has been clicked to run or downloaded to the disk
a link from an email has been clicked
Does anyone have experience in how to achieving these two things?
There are at least two ways I can think of to do this.
Outlook Extension
The easiest is to write a script. The MailItem.BeforeAttachmentRead lets you see what the user is going to open/save, and even allows you to cancel it if you find it suspect. You can also use several other related event hooks to customize the experience (check the docs). No hardcore kernel-level programming is required.
Kernel Hook
You could also implement a generic file hook that runs in the background and reports activity from the Outlook executable, but this is probably more cumbersome than it needs to be. The Windows API allows you to monitor when files are created, but you wouldn't be able to see specifically when an attachment is previewed (as far as I could determine from the docs).
Either way, you can then deploy your package through a Group Policy Object so that it can be invisibly installed without the user's knowledge. Once installed, you can choose to log those attachments through the usual channels, such as an Event Log that can be viewed in the Event Viewer.

Visual Studio 2013 Update 4 - How to Stop Annoying Notifications

Just installed Visual Studio 2013 Update 4 and now I see this annoying red notification telling me I need a developer licence for Windows Store and Windows Phone - which I do not need.
Once I click dismiss all, it comes back next time I load Visual Studio, the same notification I dismissed. In other words how many times will it tell me I need a licence? So my point is how do I stop displaying the red notification.
[edit]
Actually it's prompting me every so often not just every visual studio restart... as I think someone has mentioned in one of the comments.
LATEST UPDATE (Nov-21):
We have now released a patch for this bug. You can download it from here.
I'm leaving the rest of this answer as is but there should no longer be a need for any workaround once the patch linked to above has been applied.
ORIGINAL ANSWER:
I'll start by apologizing and confirming we've got at least one bug here (if not more). There are several of us actively investigating this on our side. We don't yet know the full extent of the problem though so it would be great to get some additional information from anyone who's currently running into this.
The intent was to show a notification to users working on Windows or Windows Phone Store apps. It was not something that should be coming up for users not doing Store development.
The most promising workaround so far is to:
Close the currently open solution (if there is one loaded)
Dismiss the notification
Close Visual Studio
You shouldn't see the notification again in subsequent VS sessions until you do something that causes the Store related functionality to load again (e.g., create or load a Store app project).
If this doesn't make it go away, please respond and we'll try to work with you to get more details on what could be causing it to continue to appear for you.
UPDATE:
If the above workaround doesn't work for you (e.g., ReSharper users), I've got another one that should at least provide a respite from the notifications for about a month at a time:
Make sure the critical notification is currently active (i.e., red notification).
Close all open instances of Visual Studio.
Open up File Explorer and navigate to the %LocalAppData%\Microsoft\VisualStudio\12.0\Notifications directory.
Open the Notifications_Active.xml file found in in a text editor.
Find the notification element referring to the developer license.
Change the value of the Severity element to 0 instead of 2.
This should make the red alert no longer kick in for this notification as long as you leave the notification active (i.e., do not dismiss it).

Can QuickBooks pass a URL to a Browser?

Is there a way to add a link or a button to the Quickbooks interface that will let me send a URL to a browser?
What I would like to do is query (somehow) the current screen for an invoice number (check number, PO Number, etc.) and pass a specially crafted URL with that number to the default browser which will call our document management system and displayt a document.
Other than the number embedded in the URL, I don't need to pass any other information.
I am not a programmer by any stretch, but I can entertain any ideas.
My other thought was to have an AutoIT script that will query quickbooks for the information and pass that along to the browser, but, I still have the problem of how to get that information from QuickBooks.
This is possible using a custom QuickBooks menu item, but it requires advanced QuickBooks SDK programming. The difficult part is placing the the menu item on the QuickBooks menu and receiving the context information that will allow you to identify the transaction or entity that is currently being viewed. Once you've done that, launching the browser is a minor concern.
You should be aware that there have been difficulties with the installation of custom QuickBooks menu items since the introduction of Vista. My suspicion is that the root cause is related to the changes that were made to the Windows registry in Vista. In any case, programmers are still reporting problems with the latest version of QuickBooks and Windows 7 SP1.

Screensaver to cycle through webpages?

Does anyone have any suggestions for how to create a screensaver that can cycle through some webpages? I would like to create a screensaver that displays various dashboard and statistics pages that are available in our Hudson CI server. This is a windows machine, with firefox and IE available.
Extra bonus points if I can do it in ruby! :-)
Cheers,
Mike
I programmed a lot of screensavers in Delphi, but I think the following should be applicable to all sorts of development environments.
You create the main form of your screensaver and put an IE-control on it (or if your development environment does not support it, an OLE-container) and then create a timer which changes the webpage shown by the IE-control.
Sorry no solution in ruby....
Ok, so after a few false starts I found a pretty simple solution. I used Visual Studio Express Edition to create a windows forms application. You just need to drag a WebBrowser control onto the form and resize to full screen at startup. Then all you have to do is hook up the event handlers to deal with the mouse and keyboard.
Some more details here:
Blog post on how I made the screensaver
Source code on github

Resources