David_Bennett

I am on the Windows Vista Parental controls team, working on the next version of windows and specifically the parental controls aspects of it. I worked on the web filter, and many other aspects of the system from the control panel up.

David_Bennett

  • DataBind and Multiviews

    If you are using a multiview in asp to display a bunch of different pieces of information, for example if you are displaying a bunch of logs that are selectable inside your multiview (using the tabbed control I posted here recently), you need to be careful...
  • How to turn on debug exceptions with WCF

    It is possible to see exceptions passed back in the messages sent to the service. This makes it a lot easier to debug multi-peer applications. The way to do this is to add into the web.config file the section. You can see in the following config section...
  • Extending RichTextBox

    The first article on extending RIchTextBox, this goes over the general details, shows the code and talks about the thumb events.
  • Reading in Crimson Logs

    The Crimson API as C# bindings.
  • Parental Controls on a Domain

    It is possible to turn on parental controls if your machine is on a domain, but default it is disabled. It is not possible to turn on parental controls for Business skews of Vista since parental controls is not present on the machine at all in these skews...
  • FileVersionInfo - getting the FileDescription in C#

    Getting the file description in C# requires using the VerQueryInfo calls to load in the data from the file. First you load in the culture information so you get the information in the right language and then you load the actual data into the buffer. To...
  • Tabbed menu system for asp.net

    This is a piece of code to deal with tabbed browing, it uses a CompositeControl to deal with creating the tabs and the views. The tabs are created using a simple table setup with the different td elements using different css classes to change the way...
  • How to log a crimson event to the custom log (for parental controls)

    Now that you have setup a custom event using WMI, you can log to it. Remember that you need to be elevated to register a custom event, but you do not need to be elevated to log to the channel. The Windows Parental Controls channel is write only for limited...
  • Converting XML to RTF using .net

    It is quite easy to convert XML into RTF, well to turn it into fairly simple rtf output anyway. The RTF format is pretty straightforward and this makes it pretty easy to write into the RtfTextBox inside the .net system to display your xml in a nicely...
  • Setting a ToolTip on a TreeView control

    A TreeView control in WinForms does not have a tooltip associated with and each node definately doesn't have a tooltip associated with it. The way to get around this is to use the MouseMoved event and trigger the tooltip creation with this. The MouseHover...
  • Hidden blocked items in Windows Parental Controls

    When you install parental controls on vista there are a few hidden items that are not displayed in the control panel. These are exemption lists for the applications and for specific web sites. Specific applications might want to be able to have free access...
  • Adding a URL Exemption in c#

    The system contains a list of applications which are exempted from parental controls. This list can be accessed via WMI and it should be modified in the install process for any application that requires free Internet access. The way to do this is to access...
  • Reading WPC logs in C#

    Here is a conversion of the WPCEvents.h file that is used with the vista SDK to get the parts of the various crimson events converted into c#. I have written about this file before and how the parts are connected together and how all the numbers work...
  • Log Viewer, behind the scenes

    The log viewer in Parental Controls reads in the public available system logs and turns them into the data you can see in the control panel. The logs are brought in from a couple of places, the System logs, the Application logs and the Parental controls...
  • Different exclusion lists

    There are 4 different exclusion lists in Windows Parental Controls that are used to control which programs and which urls are allowed to be connected to. The two main lists are the HttpExemptionList and the UrlExemptionList, these are modifiable lists...
  • GDF Xml file format

    The GDF file is an xml file associated with games in vista. The file gives information about the various ratings associated with the game along with the name of the game. The XML file format is fairly simple and is as follows: <GameDefinitionFile>...
  • ROW_NUMBER() and asp.net

    I was looking around at ways to optimise asp.net over the last few days and ran across this article about using ROW_NUMBER(), which is quite good. There were a few aspects of it missing that I had to do a little more work to look up. I tracked down some...
  • Showing the Windows Parental Controls system settings.

    There are a few elements of information you can get out of the system settings for WPC, allowing you to see how various aspects of the parental controls system is setup. It is easy enough to read these settings using WMI and some javascript so we can...
  • Australian Government and Parental Controls

    It is interesting that the Australian Government is getting into the act on releasing a free web filter for use with windows, I wonder if they are connecting up to the Vista parental controls settings built into vista. I have to wonder if they provide...
  • Making a Game marked as run in Parental Controls

    For a game to show up in Parental Controls as being run a few things need to happen. First the game must have a GDF file so it will be properly registered with the Game Explorer. Once the game is correctly registered with the Game Explorer it will show...
  • Using Custom Events in Windows Parental Controls

    Any extension you add to Parental can log custom events, well any application can log custom events. These events will show up in the activity viewer in the control panel. To log a custom event you must first register the custom event using WMI and then...
  • .net Binding for WPC Events

    The WPC event system logs a series of events to the WPC crimson channel. The channel contents is viewable inside the log viewer and it has a path of: Microsoft-Windows-ParentalControls/Operational. The events are logged with a variety of different parameters...
  • Overwhelmingness of Parental Controls?

    There have been some comments about various aspects of Parental Controls being overwhelming, specifically in this post . It is true that some of the existing parental control companies will not be so keen on some features, however there is a lot of area...
  • Opening up the WPC Control Panel from the command line

    It is possible to open up the windows parental controls control panel from the command line, well any control panel. You pass in the name of the control panel to open up and it opens it up. Nice and easy. For the parental controls panel the syntax is...
  • Using RatingSystem WMI in Parental Controls

    Windows Parental Controls exposes a RatingSystem class that can be used to find all the rating systems on the system as well as the name and all the ratings used inside the system. This is what is used inside Windows Parental Controls to show the pretty...