Question: I want to run this .BAT file when a user logs into their windows account:

![enter image description here](https://i.stack.imgur.com/E5b6O.gif)

[file.bat]

```
start http://www.google.ca

```

Answer: 
They're equivalent in this case, but only because it's a pseudo-element, not a pseudo-class. The double-colon syntax was created in order to prevent the confusion arising from calling single-colon pseudo-elements "pseudo-classes" (which your question demonstrates, oddly enough). From the [spec](http://www.w3.org/TR/selectors/#pseudo-elements):

> 
> This `::` notation is introduced by the current document in order to establish a discrimination between pseudo-classes and pseudo-elements. For compatibility with existing style sheets, user agents must also accept the previous one-colon notation for pseudo-elements introduced in CSS levels 1 and 2 (namely, `:first-line`, `:first-letter`, `:before` and `:after`). This compatibility is not allowed for the new pseudo-elements introduced in this specification.
> 
> 
> 

If you're not planning on supporting IE < 9, it is best to denote all your pseudo-elements with double colons going forward. If you require support for older versions of IE, you can continue using single colons, but only for the aforementioned selectors.
Checked the spec?

> 
> This :: notation is introduced by the current document in order to
>  establish a discrimination between pseudo-classes and pseudo-elements.
>  For compatibility with existing style sheets, user agents must also
>  accept the previous one-colon notation for pseudo-elements introduced
>  in CSS levels 1 and 2 (namely, :first-line, :first-letter, :before and
>  :after). This compatibility is not allowed for the new pseudo-elements
>  introduced in this specification.
> 
> 
> 

<http://www.w3.org/TR/selectors/#pseudo-elements>