HISE Logo Forum
    • Categories
    • Register
    • Login

    How to get CPU serial number using HISE?

    Scheduled Pinned Locked Moved General Questions
    36 Posts 6 Posters 7.1k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Dan KorneffD
      Dan Korneff
      last edited by

      I'm using JUCE_USE_BETTER_MACHINE_IDS=1 in my new project. It's mostly working well, but I have a couple Windows 11 users that have to reactivate their license every few reboots. Is there a way to list the devices that are used to create this number so I can debug what is changing on their system?

      Dan Korneff - Producer / Mixer / Audio Nerd

      ustkU 1 Reply Last reply Reply Quote 1
      • ustkU
        ustk @Dan Korneff
        last edited by

        @Dan-Korneff Ouch! As it doesn't respect what the name says, that is very unfortunate!

        Can't help pressing F5 in the forum...

        1 Reply Last reply Reply Quote 0
        • Dan KorneffD
          Dan Korneff
          last edited by

          @Christoph-Hart I think this is the issue:
          https://github.com/juce-framework/JUCE/commit/120f9266dc881c81371109c69b37a0a246accdeb

          Is this fix already implemented?

          Dan Korneff - Producer / Mixer / Audio Nerd

          Christoph HartC 1 Reply Last reply Reply Quote 0
          • Christoph HartC
            Christoph Hart @Dan Korneff
            last edited by

            @Dan-Korneff welp it‘s time for a JUCE_EVEN_BETTER_MACHINE_IDS macro…

            Dan KorneffD ustkU 3 Replies Last reply Reply Quote 4
            • A
              aaronventure
              last edited by aaronventure

              You can fetch the MachineGuid that Windows creates on install using powershell. Here's how you do it in HISE:

              const BackgroundTask = {};
              
              BackgroundTask.getMachineGuid = Engine.createBackgroundTask("GetMachineGUID");
              inline function getMachineGuid()
              {
              	local command = "reg";
              	local args = 
              	[
              	    "query",
              	    "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography",
              	    "/v", 
              	    "MachineGuid"
              	];
              	
              	local logFunction = function(thread, isFinished, data)
              	{
              		if (!isFinished)
              		{
              			var id = data.substring(data.indexOf("REG_SZ")+6, data.length).trim();
              			
              			Console.print(id);
              		}
              
              	};
              
              	
              	BackgroundTask.getMachineGuid.runProcess(command, args, logFunction);
              }
              
              getMachineGuid();
              

              A bit silly function naming since it won't return anything, but you get the gist.

              Dan KorneffD 1 Reply Last reply Reply Quote 2
              • Dan KorneffD
                Dan Korneff @aaronventure
                last edited by

                @aaronventure I've created an app that displays the system ID with the Engine.getSystemID() function. I was looking for something that displayed the items in the system that were used to create the numbers.
                Ultimately, it looks like there's a fix available from JUCE. Looking forward to the update 😀

                Dan Korneff - Producer / Mixer / Audio Nerd

                1 Reply Last reply Reply Quote 0
                • Dan KorneffD
                  Dan Korneff @Christoph Hart
                  last edited by

                  @Christoph-Hart No rush. Just checking in for a friendly ETA.

                  Dan Korneff - Producer / Mixer / Audio Nerd

                  1 Reply Last reply Reply Quote 0
                  • Dan KorneffD
                    Dan Korneff @Christoph Hart
                    last edited by

                    @Christoph-Hart Would you want to give me a "this is how I would do it" outline and I could take a run at it? Just trying to manage the pitchforks. 🤠

                    Dan Korneff - Producer / Mixer / Audio Nerd

                    1 Reply Last reply Reply Quote 0
                    • ustkU
                      ustk @Christoph Hart
                      last edited by

                      @Christoph-Hart said in How to get CPU serial number using HISE?:

                      @Dan-Korneff welp it‘s time for a JUCE_EVEN_BETTER_MACHINE_IDS macro…

                      Where are we at about this GENERATE_FOOL_PROOF_ID?

                      Can't help pressing F5 in the forum...

                      Dan KorneffD 2 Replies Last reply Reply Quote 0
                      • Dan KorneffD
                        Dan Korneff @ustk
                        last edited by Dan Korneff

                        @ustk I think the method can just be swapped out with the new one.
                        I've been tinkering with implementation on this end. Lots of little hurdles backporting from juce 8. Got a huge stack trace to work out, but I've been too swamped to complete

                        Dan Korneff - Producer / Mixer / Audio Nerd

                        1 Reply Last reply Reply Quote 0
                        • Dan KorneffD
                          Dan Korneff
                          last edited by Dan Korneff

                          @Christoph-Hart Here's where I'm at:

                          Link Preview Image
                          Sign in · GitLab

                          GitLab Community Edition

                          favicon

                          GitLab (gitlab.korneff.co)

                          I'm currently stuck at

                          Severity	Code	Description	Project	File	Line	Suppression State	Details
                          Error	LNK2001	unresolved external symbol "public: __cdecl juce::juce::MemoryBlock::~MemoryBlock(void)" (??1MemoryBlock@juce@1@QEAA@XZ)	HISE Standalone_App	Z:\GitHub\HISE\projects\standalone\Builds\VisualStudio2022\include_juce_core.obj	1		
                          Error	LNK2001	unresolved external symbol "public: __cdecl juce::juce::MemoryBlock::MemoryBlock(void)" (??0MemoryBlock@juce@1@QEAA@XZ)	HISE Standalone_App	Z:\GitHub\HISE\projects\standalone\Builds\VisualStudio2022\include_juce_core.obj	1		
                          Error	LNK2001	unresolved external symbol "public: __cdecl juce::juce::MemoryBlock::MemoryBlock(unsigned __int64,bool)" (??0MemoryBlock@juce@1@QEAA@_K_N@Z)	HISE Standalone_App	Z:\GitHub\HISE\projects\standalone\Builds\VisualStudio2022\include_juce_core.obj	1		
                          Error	LNK2001	unresolved external symbol "public: __cdecl juce::juce::MemoryBlock::MemoryBlock(class juce::juce::MemoryBlock &&)" (??0MemoryBlock@juce@1@QEAA@$$QEAV011@@Z)	HISE Standalone_App	Z:\GitHub\HISE\projects\standalone\Builds\VisualStudio2022\include_juce_core.obj	1		
                          
                          

                          Any chance you could take a look? (ignore the image file stuff..)

                          Dan Korneff - Producer / Mixer / Audio Nerd

                          1 Reply Last reply Reply Quote 0
                          • Dan KorneffD
                            Dan Korneff
                            last edited by

                            zolu.gif

                            Dan Korneff - Producer / Mixer / Audio Nerd

                            1 Reply Last reply Reply Quote 1
                            • Dan KorneffD
                              Dan Korneff @ustk
                              last edited by

                              @ustk Got it sorted. Sending to beta for testing now.

                              Dan Korneff - Producer / Mixer / Audio Nerd

                              1 Reply Last reply Reply Quote 1
                              • Dan KorneffD
                                Dan Korneff
                                last edited by

                                @Christoph-Hart @ustk Confirmed working:

                                Link Preview Image
                                Sign in · GitLab

                                GitLab Community Edition

                                favicon

                                GitLab (gitlab.korneff.co)

                                It requires 2 new files:
                                juce_Span.h
                                juce_EnumHelpers.h

                                and edits to:
                                juce_core.h
                                juce_win32_SystemStats.cpp
                                juce_SystemStats.cpp
                                juce_OnlineUnlockStatus.cpp

                                Dan Korneff - Producer / Mixer / Audio Nerd

                                CatABCC 1 Reply Last reply Reply Quote 2
                                • CatABCC
                                  CatABC @Dan Korneff
                                  last edited by

                                  @Dan-Korneff Hey buddy, sorry to bother you, I don't know what's going on with GitLab, I can't see your code on GitLab, will you publish it on GitHub? Or is there another way for me to get it? I will be very grateful

                                  //I am a new student at HISE._
                                  //Windows11 & MacOS Ventura 13.6.7_

                                  Dan KorneffD 1 Reply Last reply Reply Quote 0
                                  • Dan KorneffD
                                    Dan Korneff @CatABC
                                    last edited by

                                    @CatABC I set the repo back to private.
                                    Here's a link to the files:
                                    https://hub.korneffaudio.com/index.php/s/M6kgXeaZ9BstR7Q
                                    This will replace the existing method with the new one. No need to keep the old one since it's flawed.

                                    Dan Korneff - Producer / Mixer / Audio Nerd

                                    CatABCC 2 Replies Last reply Reply Quote 0
                                    • CatABCC
                                      CatABC @Dan Korneff
                                      last edited by

                                      @Dan-Korneff Thank you so much! I don't know how to thank you, you are my big brother, hahahaha🍻 🍻 🍻

                                      //I am a new student at HISE._
                                      //Windows11 & MacOS Ventura 13.6.7_

                                      1 Reply Last reply Reply Quote 0
                                      • CatABCC
                                        CatABC @Dan Korneff
                                        last edited by

                                        @Dan-Korneff I used your file, but the generated machine code is the same as the original one. I'm not sure if this is normal. Could you give me an answer?

                                        //I am a new student at HISE._
                                        //Windows11 & MacOS Ventura 13.6.7_

                                        Dan KorneffD 1 Reply Last reply Reply Quote 0
                                        • Dan KorneffD
                                          Dan Korneff @CatABC
                                          last edited by Dan Korneff

                                          @CatABC You have to enable this setting in projucer and rebuild HISE:
                                          proID.png

                                          Now HISE will use the new code to gather system IDs.

                                          Then you need to set JUCE_USE_BETTER_MACHINE_IDS=1 in your project so the exported plugin references the correct system ID.

                                          Screenshot 2025-06-11 080150.png

                                          Dan Korneff - Producer / Mixer / Audio Nerd

                                          CatABCC 1 Reply Last reply Reply Quote 0
                                          • CatABCC
                                            CatABC @Dan Korneff
                                            last edited by

                                            @Dan-Korneff well,I understand!thanks bro!

                                            //I am a new student at HISE._
                                            //Windows11 & MacOS Ventura 13.6.7_

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            19

                                            Online

                                            1.8k

                                            Users

                                            11.9k

                                            Topics

                                            104.0k

                                            Posts