diff --git a/README.md b/README.md
index 07071cd..2e1fd1f 100644
--- a/README.md
+++ b/README.md
@@ -5,4 +5,8 @@
 
 **<u>WindowsShortcutFull</u>**
 
-view, modify and create windows shortcut files (.lnk)
\ No newline at end of file
+view, modify and create windows shortcut files (.lnk)
+
+**<u>RunningAs</u>**
+
+Alert box containing current user process running as
\ No newline at end of file

diff --git a/README.md b/README.md
index 07071cd..2e1fd1f 100644
--- a/README.md
+++ b/README.md
@@ -5,4 +5,8 @@
 
 **<u>WindowsShortcutFull</u>**
 
-view, modify and create windows shortcut files (.lnk)
\ No newline at end of file
+view, modify and create windows shortcut files (.lnk)
+
+**<u>RunningAs</u>**
+
+Alert box containing current user process running as
\ No newline at end of file
diff --git a/RunningAs-Example.go b/RunningAs-Example.go
new file mode 100644
index 0000000..8b4195f
--- /dev/null
+++ b/RunningAs-Example.go
@@ -0,0 +1,41 @@
+/***
+ * Just a small demonstration script that makes an alert box containing the user the current process is running as
+ */
+package main
+
+import (
+	"log"
+	"os/user"
+	"syscall"
+	"unsafe"
+)
+
+// MessageBox of Win32 API.
+func MessageBox(hwnd uintptr, caption, title string, flags uint) int {
+	ret, _, _ := syscall.NewLazyDLL("user32.dll").NewProc("MessageBoxW").Call(
+		uintptr(hwnd),
+		uintptr(unsafe.Pointer(syscall.StringToUTF16Ptr(caption))),
+		uintptr(unsafe.Pointer(syscall.StringToUTF16Ptr(title))),
+		uintptr(flags))
+
+	return int(ret)
+}
+
+// MessageBoxPlain of Win32 API.
+func MessageBoxPlain(title, caption string) int {
+	const (
+		NULL  = 0
+		MB_OK = 0
+	)
+	return MessageBox(NULL, caption, title, MB_OK)
+}
+
+func main() {
+	currentUser, err := user.Current()
+	if err != nil {
+		log.Fatalf("Unable to get current user: %s", err)
+	}
+	userId := currentUser.Username
+
+	MessageBoxPlain("Running as", userId)
+}