UUID Generator

Submit portable freeware that you find here. It helps if you include information like description, extraction instruction, Unicode support, whether it writes to the registry, and so on.
Post Reply
Message
Author
User avatar
guinness
Posts: 4118
Joined: Mon Aug 27, 2007 2:00 am
Contact:

UUID Generator

#1 Post by guinness »

Tested: Portable
UUID Generator is a small little program for generating UUIDs. A Universally Unique Identifier (UUID) is an identifier standard used in software construction, standardized by the Open Software Foundation (OSF) as part of the Distributed Computing Environment (DCE). The intent of UUIDs is to enable distributed systems to uniquely identify information without significant central coordination. Thus, anyone can create a UUID and use it to identify something with reasonable confidence that the identifier will never be unintentionally used by anyone for anything else. Information labeled with UUIDs can therefore be later combined into a single database without needing to resolve name conflicts. The most widespread use of this standard is in Microsoft’s Globally Unique Identifiers (GUIDs) which implement this standard. Other significant users include Linux’s ext2/ext3 file system, LUKS encrypted partitions, GNOME, KDE, and Mac OS X, all of which use implementations derived from the UUID library found in the e2fsprogs package. A UUID is essentially a 16-byte (128-bit) number. In its canonical form a UUID may look like this:
Download: http://www.rizone3.com/archives/1257

User avatar
webfork
Posts: 10821
Joined: Wed Apr 11, 2007 8:06 pm
Location: US, Texas
Contact:

Re: UUID Generator

#2 Post by webfork »

Even the wikipedia explanation was over my head.

http://en.wikipedia.org/wiki/Universall ... identifier

User avatar
guinness
Posts: 4118
Joined: Mon Aug 27, 2007 2:00 am
Contact:

Re: UUID Generator

#3 Post by guinness »

In simple terms its a really long number which is ideal for software developers who want a really unique number. It's what we use in DropIt for the Context Menu (SendTo) integration.

User avatar
SYSTEM
Posts: 2042
Joined: Sat Jul 31, 2010 1:19 am
Location: Helsinki, Finland

Re: UUID Generator

#4 Post by SYSTEM »

webfork wrote:Even the wikipedia explanation was over my head.

http://en.wikipedia.org/wiki/Universall ... identifier
OK, I can try to teach you. ;)

Go to the directory C:\WINDOWS\Installer. You'll find some directories inside.

The name of each subdirectory (except $PatchCache$) is a GUID of a program you have installed.

Windows Installer uses GUIDs to identify applications. Each application is supposed to have an unique GUID. The GUID is determined when the installer (a .msi file) is created. The subdirectories are created when programs are installed, and the information in them is used when the programs are uninstalled.

The reason to use UUIDs is that creating the same UUID twice is very unlikely, due to the extremely high number of possible UUIDs.
My YouTube channel | Release date of my 13th playlist: August 24, 2020

User avatar
guinness
Posts: 4118
Joined: Mon Aug 27, 2007 2:00 am
Contact:

Re: UUID Generator

#5 Post by guinness »


User avatar
webfork
Posts: 10821
Joined: Wed Apr 11, 2007 8:06 pm
Location: US, Texas
Contact:

Re: UUID Generator

#6 Post by webfork »

SYSTEM wrote:Go to the directory C:\WINDOWS\Installer. You'll find some directories inside.

The name of each subdirectory (except $PatchCache$) is a GUID of a program you have installed.
Very cool. I've always wondered, thanks.

User avatar
guinness
Posts: 4118
Joined: Mon Aug 27, 2007 2:00 am
Contact:

Re: UUID Generator

#7 Post by guinness »

It took me about 10mins to code and supports the following HotKeys >> A = Showing the About section, Ctrl+C = Copy the GUID to the Clipboard & the ENTER Key will create a new GUID.

I didn't want to create another program to add to TPFC DB, my point was showing that AutoIt is very simple to use, also consider that UUID Generator is created using AutoIt, so they probably have used a similar Function in their Script. This is for users who took an interest in my previous forum post.

I believe that for Portable Development to continue, new developers have to emerge, so who better than actual Portable Software enthusiasts. :D

Code: Select all

#AutoIt3Wrapper_Au3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
#COMMENTS-START
	Create_GUID Created By:					guinness
#COMMENTS-END
#NoTrayIcon
#AutoIt3Wrapper_Outfile=Create_GUID.exe
#AutoIt3Wrapper_UseUpx=Y
#AutoIt3Wrapper_Res_Description=
#AutoIt3Wrapper_Res_Fileversion=0.0.0.1
#AutoIt3Wrapper_Res_LegalCopyright=nocopyright
#AutoIt3Wrapper_Res_Language=2057
#AutoIt3Wrapper_Res_Field=Website|
#AutoIt3Wrapper_Res_Field=E-Mail|
#AutoIt3Wrapper_UseX64=N
#AutoIt3Wrapper_Run_Obfuscator=Y
#Obfuscator_Parameters=/SF /SV /OM /CS=0 /CN=0

_Main()

Func _Main()
	Local $Button, $Width = 300, $Height = 80, $Input, $About, $GUID, $Copy
	GUICreate("GUID", $Width, $Height)
	$Input = GUICtrlCreateInput("", 10, 10, $Width - 20, 25, 0x0800) ; 0x0800 = $ES_READONLY
	$Copy = GUICtrlCreateButton("Copy", ($Width / 2) - (32.5 * 2.5), $Height - 35, 45, 25)
	GUICtrlSetState($Copy, 144)
	$Button = GUICtrlCreateButton("GUID", ($Width / 2) - 32.5, $Height - 35, 65, 25)
	$About = GUICtrlCreateButton("About", ($Width / 2) + 35, $Height - 35, 45, 25)
	GUISetState(@SW_SHOW)

	Local $HotKeys[3][2] = [["^c", $Copy],["{ENTER}", $Button],["a", $About]] ; HotKeys.
	GUISetAccelerators($HotKeys)

	While 1
		If GUICtrlRead($Input) <> "" And Not StringInStr(GUICtrlRead($Input), "Created with AutoIt") Then
			If GUICtrlGetState($Copy) > 80 Then GUICtrlSetState($Copy, 576)
		Else
			If GUICtrlGetState($Copy) = 80 Then GUICtrlSetState($Copy, 144)
		EndIf

		Switch GUIGetMsg()
			Case -3 ; $GUI_EVENT_CLOSE
				Exit

			Case $Button
				$GUID = _WinAPI_CreateGUID() ; Taken From: http://www.autoitscript.com/forum/topic/98712-winapiex-udf/page__hl__winapiex (Yashied is the Creator.)
				$GUID = StringReplace($GUID, "{", "")
				$GUID = StringReplace($GUID, "}", "")
				GUICtrlSetData($Input, $GUID)

			Case $Copy
				ClipPut($GUID)

			Case $About
				GUICtrlSetData($Input, "Created with AutoIt. Designed in " & @YEAR)

		EndSwitch
	WEnd
EndFunc   ;==>_Main

; #FUNCTION# ====================================================================================================================
; Website........: http://www.autoitscript.com/forum/topic/98712-winapiex-udf/page__hl__winapiex
; Name...........: _WinAPI_CreateGUID
; Description....: Creates a globally unique identifier (GUID).
; Syntax.........: _WinAPI_CreateGUID ( )
; Parameters.....: None
; Return values..: Success - The string representation of the GUID.
;                  Failure - Empty string and sets the @error flag to non-zero, @extended flag may contain the system error code.
; Author.........: Yashied
; Modified.......: guinness
; Remarks........: None
; Related........:
; Link...........: None
; Example........: Yes
; ===============================================================================================================================
Func _WinAPI_CreateGUID()
	Local Const $tagGUID = "int Data1;short Data2;short Data3;byte Data4[8]"
	Local $tData = DllStructCreate('wchar[39]')
	Local $tGUID = DllStructCreate($tagGUID)
	Local $Return
	$Return = DllCall('ole32.dll', 'uint', 'CoCreateGuid', 'ptr', DllStructGetPtr($tGUID))
	If @error Then Return SetError(1, 1, 0)
	If $Return[0] Then Return SetError(1, $Return[0], 0)

	$Return = DllCall('ole32.dll', 'int', 'StringFromGUID2', 'ptr', DllStructGetPtr($tGUID), 'ptr', DllStructGetPtr($tData), 'int', 39)
	If (@error) Or (Not $Return[0]) Then Return SetError(1, 1, 0)
	Return DllStructGetData($tData, 1)
EndFunc   ;==>_WinAPI_CreateGUID

User avatar
JohnTHaller
Posts: 716
Joined: Wed Feb 10, 2010 4:44 pm
Location: New York, NY
Contact:

UUID-GUID Generator Portable

#8 Post by JohnTHaller »

If what you need is hotkeys, you can use UUID-GUID Generator Portable at PortableApps.com. ALT-G to generate. ALT-B to turn braces on and off. ALT-C to copy to clipboard. You highlight and copy part of it as well. It's portable, remembers whether you like your braces on and off, and it's open source with the full source included. And it's packaged in PortableApps.com Format.

http://portableapps.com/apps/utilities/ ... r_portable
PortableApps.com - The open standard for portable software | Support Net Neutrality

User avatar
guinness
Posts: 4118
Joined: Mon Aug 27, 2007 2:00 am
Contact:

Re: UUID Generator

#9 Post by guinness »

Wow, I kind of understand Delphi, even though I have never used it. Another good example.

User avatar
JohnTHaller
Posts: 716
Joined: Wed Feb 10, 2010 4:44 pm
Location: New York, NY
Contact:

Re: UUID Generator

#10 Post by JohnTHaller »

guinness wrote:Wow, I kind of understand Delphi, even though I have never used it. Another good example.
It's Visual Pascal and it isn't too hard to follow. An app like this is pretty easy to implement (took me under 30 minutes to fully code, package and post). It's only 100 lines total including the bits to handle braces, save and load that preference to an INI, etc.
PortableApps.com - The open standard for portable software | Support Net Neutrality

User avatar
I am Baas
Posts: 4150
Joined: Thu Aug 07, 2008 4:51 am

Re: UUID Generator

#11 Post by I am Baas »

Here's another GUID generator... GUID GenIT.
This tool generates a GUID for you in the Windows Registry format
i.e. {F1B9F1E7-3A59-40FC-97A1-EA7CA08556EA}
Not tested for portability but:
Installation: No install required, can be run from any device or location.

User avatar
I am Baas
Posts: 4150
Joined: Thu Aug 07, 2008 4:51 am

Re: UUID Generator

#12 Post by I am Baas »

guinness wrote:Tested: Portable
UUID Generator is a small little program for generating UUIDs. A Universally Unique Identifier (UUID) is an identifier standard used in software construction, standardized by the Open Software Foundation (OSF) as part of the Distributed Computing Environment (DCE). The intent of UUIDs is to enable distributed systems to uniquely identify information without significant central coordination. Thus, anyone can create a UUID and use it to identify something with reasonable confidence that the identifier will never be unintentionally used by anyone for anything else. Information labeled with UUIDs can therefore be later combined into a single database without needing to resolve name conflicts. The most widespread use of this standard is in Microsoft’s Globally Unique Identifiers (GUIDs) which implement this standard. Other significant users include Linux’s ext2/ext3 file system, LUKS encrypted partitions, GNOME, KDE, and Mac OS X, all of which use implementations derived from the UUID library found in the e2fsprogs package. A UUID is essentially a 16-byte (128-bit) number. In its canonical form a UUID may look like this:
Download: http://www.rizone3.com/archives/1257
UUID Generator is @ V0.1.5.150

Post Reply