• Stars
    star
    180
  • Rank 212,091 (Top 5 %)
  • Language
    C++
  • Created over 14 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Run a VirtualBox machine in a tray icon

VBoxHeadlessTray

What is it?

VBoxHeadlessTray is simple windows app that runs a VirtualBox VM as a tray icon:

TrayIcon

Common commands are readily available from the context menu:

TrayMenu

Download Links

To use

  1. Download and Install

  2. From Start menu -> Programs run VBoxHeadlessTray

  3. Select a machine from the displayed list. VBoxHeadlessTray will powerup the machine.

  4. Right click the tray icon to start/stop/save etc...

If a VBoxHeadlessTray machine is running when Windows is shutdown, it will automatically save the machine's state and on Windows restarting, VBoxHeadlessTray will restart itself automatically and resume the VM.

To prevent a machine starting at windows logon, exit VBoxHeadlessTray before shutting down windows, or use the -np option.

CommandLine Arguments

Usage: VBoxHeadlessTray [-?|-h] [-np]

  • -np: don't power on the machine
  • -h: show help

Requirements

VBoxHeadlessTray 3.2 requires VirtualBox 3.2 to be installed. VBoxHeadlessTray 1.2 requires VirtualBox 3.1.2 to be installed.

Machine execution, machine management and all other functionality is still supplied by Virtual Box. VBoxHeadlessTray is a simple front end that hosts VirtualBox runtime.

Testing on Windows XP, Windows Vista and Windows 7.

Custom Menu Commands

It is possible to customize the context menu that appears when clicking on the VBoxHeadlessTray tray icon. This is done through VBox Guest Properties.

Say the of the VM being hosted was running a web site and you want a quick way to launch a web browser for it. At the command prompt, use the VBoxManage tool (see VirtualBox documentation) to add the following guest properties.

In this this example my VM is running a website toptensoftware.ulamp and my machine name is devvm

VBoxManage guestproperty set devvm "VBoxHeadlessTray\ContextMenus\browse\menutext" "Open Web Browser..."
VBoxManage guestproperty set devvm "VBoxHeadlessTray\ContextMenus\browse\command" "http://toptensoftware.ulamp"
VBoxManage guestproperty set devvm "VBoxHeadlessTray\ContextMenus\browse\verb" "open"

If verb is empty, the command is executed (CreateProcess) otherwise it's launched with ShellExecute.

You can optionally set another property to specify the context under which the commmand is available (either Running or Stopped).

VBoxManage guestproperty set devvm "VBoxHeadlessTray\ContextMenus\browse\context" "Running"

Source Code and Build Instructions

Source code for VBoxHeadlessTray is available from github.

To build:

  1. Get and build SimpleLib - git://github.com/toptensoftware/SimpleLib.git

  2. Get the VirtualBox SDK

  3. Get VBoxHeadlessTray - git://github.com/toptensoftware/VBoxHeadlessTray.git

  4. Open and build VBoxHeadlessTray.sln

Expected folder structure is:

\YourProjectsFolder
  \SDKs
    \VirtualBox4
	 \sdk
  \SimpleLib
  \VBoxHeadlessTray

To build setup program:

  1. Build both x64 and Win32 Release configs

  2. Download and install NSIS

  3. Right click on the VBoxHeadlessTraySetup.nsi file in Visual Studio project and select properties

  4. Set Excluded from Build to No

  5. OK Properties

  6. Right click .nsi file again and choose Compile.

  7. Set the .nsi file properties back to Excluded from Build.

This manual building of the setup is due to the fact that we need both x64 and Win32 exe's for the setup program and Visual Studio doesn't provide a way to do this easily.

Known Issues

None

License

Creative Commons License

VBoxHeadlessTray by Topten Software is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.5 Australia License.

More Repositories

1

RichTextKit

Rich text rendering for SkiaSharp
C#
342
star
2

markdowndeep

Open-source implementation of Markdown for C# and Javascript
JavaScript
266
star
3

SimpleExpressionEngine

A simple expression evaluation engine in C#
C#
66
star
4

XibFree

A lightweight, code-only layout engine for iOS/MonoTouch
C#
61
star
5

yazd

Yet Another Z80 Disassembler
C#
40
star
6

SimpleLibV1

Simple C++ template library
C++
25
star
7

JsonKit

A simple, lightweight, fast, easy to use, flexible and portable JSON library for .NET
C#
21
star
8

PetaTest

PetaTest is tiny but powerful, embeddable, dependency free Unit Testing framework for .NET and Mono.
C#
15
star
9

big80

FPGA Implementation of a TRS-80 Model 1
VHDL
14
star
10

MiniME

Open source JavaScript Minimizer in C#
C#
13
star
11

nvpatch

C#
12
star
12

brads-refind-theme

A minimal theme for rEFInd with vector source artwork.
Batchfile
11
star
13

tapetool

A tool for recovering data from 80's era Microbee and TRS-80 tape recordings
C++
11
star
14

moe-js

Lightweight, fast, Mustache inspired, JavaScript enabled template engine for Node/Express.
JavaScript
8
star
15

fpgakit

Various FPGA Utilities and Components
VHDL
7
star
16

MoxieLite

Lightweight VHDL implementation of a Moxie Processor
VHDL
7
star
17

Sharp86

8086 CPU Emulator for C#
C#
5
star
18

jab

Lightweight PHP based MVC, CMS and Blog
PHP
5
star
19

docbrowser

HTML Template for documentation
CSS
5
star
20

BitmaskExpressions

C#
4
star
21

losangeles

Simple page content server for Express
JavaScript
4
star
22

roundcube-snooze

RoundCube plugin for snoozing email messages
PHP
3
star
23

DKIM.Net

DomainKeys and DKIM signing for .NET/Mono
C#
3
star
24

vhdlwrangle

VHDL Text Wrangling Tools for VS Code
JavaScript
2
star
25

Estimote.iOS.Binding

Xamarin binding for Estimote iOS SDK
C#
2
star
26

flashy

All-In-One Reboot, Flash and Monitor Tool for Raspberry Pi bare metal
JavaScript
2
star
27

simplelib

Simple C++ template library
C++
2
star
28

inkscape-export

Simple command line utilty for exporting multiple .png images, multiple resolutions from inkscape .svg files
JavaScript
2
star
29

SerialDump

Hex dump utility for serial ports
C#
2
star
30

UIAutoTest

Test program for UI Automation integration
C#
2
star
31

bin2tap

Microbee binary to tape file converter
C#
2
star
32

TranslateKit

A simple .NET langauge translation utility.
C#
2
star
33

XSExtra

Miscellaneous tools for Xaramin Studio
C#
2
star
34

mixpanel-iphone-xamarin

C#
1
star
35

crossplat-test

Test project to show issues with Omnisharp in VS code with multiple projects
C#
1
star
36

teos

Tiny Embedded OS
VHDL
1
star
37

FullScreenTest

C#
1
star
38

MiniSim

A simple Digital Circuit Simulator in C#
C#
1
star
39

buildtools

JavaScript
1
star
40

ThemeKit

Theming library and language for .NET
C#
1
star
41

hidsynth

Synth to simulate noise keyboard and mouse based on typing and clicks
C#
1
star