Toon posts:

[XP] Processnaam aanpassen*

Pagina: 1
Acties:

Verwijderd

Topicstarter
ik heb een uitdagende vraag voor windowskenners onder ons...

ik wil weten hoe ik de processnaam van een proces kan wijzigen in windows.
als ik mijn toepassing opstart hoor ik een myprocess.myprocess.1 als processnaam te krijgen, maar regelmatig maakt hij er mypro~1.myprocess.1 van, hierdoor kan mijn serverclient koppeling niet tot stand gebracht worden. (het zit in de code op welke processnaam hij zoekt..)

dus heeft iemand een manier om handig en clean de processnaam van een een process in windows te veranderen? (het is niet zeker welke naam hij krijgt bij opstarten, dus liefst tijdens runtime!)

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 12-03 22:51

TeeDee

CQB 241

Lijkt het je niet handiger om de Process name in je eigen app correct te zetten, dan dat je (denk ik) handmatig het beestje een andere naam geeft?

offtopic:
Outer, fix die url nou eens in je Prefs... dubbele http is irri voor de luien mensch onder ons :)

[ Voor 27% gewijzigd door TeeDee op 03-10-2006 11:19 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


  • Outerspace
  • Registratie: Februari 2002
  • Laatst online: 11:00

Outerspace

Moderator General Chat / Wonen & Mobiliteit

AFX Ghey Edition by HlpDsK

Kijk hier eens naar: http://forum.java.sun.com...hreadID=556988&tstart=165
Het is zo niet 1,2,3 te doen blijkbaar.

offtopic:
TeeDee, DM ;)

[ Voor 9% gewijzigd door Outerspace op 03-10-2006 11:21 ]

Zoekt nieuwe collega's (jr/sr engineers, servicedeskmedewerkers of managers in de Randstad)


Verwijderd

Topicstarter
het is niet te doen om iedere keer in de code van mijn app de processnaam te veranderen
ik wil gewoon een consistente processnaam...

hij verandert namelijk iedere keer de processnaam, terwijl ik dezelfde exe file uitvoer

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 12-03 22:51

TeeDee

CQB 241

Verwijderd schreef op dinsdag 03 oktober 2006 @ 11:19:
het is niet te doen om iedere keer in de code van mijn app de processnaam te veranderen
ik wil gewoon een consistente processnaam...

hij verandert namelijk iedere keer de processnaam, terwijl ik dezelfde exe file uitvoer
Dat lijkt me dan nog steeds een Programming Issue. Welke taal hebben we het over?

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Topicstarter
het programma is oorspronkelijk in delphi geschreven...
maar het is niet de bedoeling dat ik in de code ga rommelen, de verbinding werkt alleen nu moet ik heel vaak het systeem herstarten net zo lang tot ik de volledige processnaam heb...

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 12-03 22:51

TeeDee

CQB 241

Mja, misschien kan je met ProcessExplorer ofzo het e.e.a. aanpassen.

http://www.sysinternals.com/Utilities/ProcessExplorer.html

Of op de site van SysInternals nog even rondzoeken.

Persoonlijk blijf ik erbij dat je dit in je Applicatie aan moet passen, zeker gezien dit feit:
alleen nu moet ik heel vaak het systeem herstarten net zo lang tot ik de volledige processnaam heb...

Heart..pumps blood.Has nothing to do with emotion! Bored


  • Outerspace
  • Registratie: Februari 2002
  • Laatst online: 11:00

Outerspace

Moderator General Chat / Wonen & Mobiliteit

AFX Ghey Edition by HlpDsK

TeeDee schreef op dinsdag 03 oktober 2006 @ 11:25:
Mja, misschien kan je met ProcessExplorer ofzo het e.e.a. aanpassen.

http://www.sysinternals.com/Utilities/ProcessExplorer.html

Of op de site van SysInternals nog even rondzoeken.

Persoonlijk blijf ik erbij dat je dit in je Applicatie aan moet passen, zeker gezien dit feit:

[...]
Net geprobeerd, ik kan alleen een comment toevoegen aan een process.

Zoekt nieuwe collega's (jr/sr engineers, servicedeskmedewerkers of managers in de Randstad)


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 12-03 22:51

TeeDee

CQB 241

Outerspace schreef op dinsdag 03 oktober 2006 @ 11:27:
[...]

Net geprobeerd, ik kan alleen een comment toevoegen aan een process.
Dan zoek je op Comment in je Process...

O nee, dan moet de applicatie weer aangepast worden :X

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Topicstarter
dus jullie kunnen een processnaam niet aanpassen...?
want als dat niet aan te passen is moet ik even overleggen of dan eventueel het programma aangepast zou moeten worden, maar dat lijkt me niet waarschijnlijk...

note: het programma waarvan de processnaam verandert is niet te veranderen, het programma wat op processnaam zoekt is custommade...

[ Voor 24% gewijzigd door Verwijderd op 03-10-2006 15:32 ]


  • _trickster_
  • Registratie: Mei 2005
  • Laatst online: 11-03 13:47
windows ( en sommige applicaties) halen de CPU naam uit het Register, deze kan je wel gewoon aanpassen, maar er staat mij iets van bij dat windows na en herstart de naam opnieuw uitleest uit de cpu en daarbij ook de registerkey weer vervangt.

mischien die naam in het register aanpassen ?

Verwijderd

Kan wel, maar is niet erg makkelijk. Geen idee ook of het run-time aanpassen van de proces naam problemen gaat geven.

Hoe het precies werkt kan ik je zo 1-2-3 niet vertellen maar je zou twee dingen kunnen proberen:

1) Zorg ervoor dat je admin op de machine bent en debugging rights hebt, Je kan dan met OpenProcess een handle naar een willekeurig process krijgen. Via deze handle kan je met ReadProcessMemory geheugen gaan uitlezen voor dat process. Je kan dan opzoek gaan naar de PEB (Process Enviroment Block) waarin allerlei info voor dat process wordt bijgehouden.In dit PEB is een veld ProcessParameters dat wijst naar een structure van het type RTL_USER_PROCESS_PARAMETERS waarin weer een veld ImagePathName zit dat de naam (en path) van het process bewaart. Je zou eens kunnen kijken wat er gebeurt als je die wijzigt. Maar iets zegt me dat dit niet gaat werken, want...

2) Waarschijnlijk moet je sowieso een kernel driver schrijven om de naam te kunnen wijzigen aangezien die bewaard wordt in een kernel structure (EPROCESS) waar je niet bij kunt vanuit userspace. Je kunt dan in kernelspace via de API functie IoGetCurrentProcess() een pointer naar het EPROCESS block krijgen. Probeer daar eens wat in te wijzigen

Goed, geen complete werkende oplossingen, maar je kan deze informatie wel gebruiken om wat info op te zoeken. Veel success :P

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 12-03 22:51

TeeDee

CQB 241

Verwijderd schreef op dinsdag 03 oktober 2006 @ 11:33:
dus jullie kunnen een processnaam niet aanpassen...?
want als dat niet aan te passen is moet ik even overleggen of dan eventueel het programma aangepast zou moeten worden, maar dat lijkt me niet waarschijnlijk...
In je startpost zeg je:
hoor ik een myprocess.myprocess.1 als processnaam te krijgen
Dit is dus niet het geval. Oorzaak: de ontwikkelaar (jij of een andere partij) heeft het nog niet helemaal op orde.

Oplossing (want volgens de spec hoor jij een bepaalde naam te krijgen): aanpassen van het programma. Of dat door een andere partij gedaan dient te worden is imo niet relevant.
_trickster_ schreef op dinsdag 03 oktober 2006 @ 11:37:
windows ( en sommige applicaties) halen de CPU naam uit het Register, deze kan je wel gewoon aanpassen, maar er staat mij iets van bij dat windows na en herstart de naam opnieuw uitleest uit de cpu en daarbij ook de registerkey weer vervangt.

mischien die naam in het register aanpassen ?
Ik zie nergens dat het hier over een CPU gaat.
Verwijderd schreef op dinsdag 03 oktober 2006 @ 11:39:
Goed, geen complete werkende oplossingen, maar je kan deze informatie wel gebruiken om wat info op te zoeken. Veel success :P
Omg, goeie reactie!

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Trouwens, iets wat ik me nu bedenk is dat het erop lijkt dat ergens de korte bestandsnaam wordt gebruikt ipv de lange. Met de Win32 API functie GetShortPathName() kan je de korte naam krijgen van de lange versie. Dit zou je kunnen gebruiken om uit te vinden welke mypro~1.myprocess.1 correspondeert met myprocess.myprocess.1 Misschiend dat dat handiger is dan een device driver te schrijven die de process naam verandert ;)
Pagina: 1