1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Mitglieder
  3. seHaas

Beiträge von seHaas

  • Mac "Standardsoftware"

    • seHaas
    • 13. Juni 2010 um 13:03

    Homebrew - The missing package manager for OS X
    http://mxcl.github.com/homebrew/
    "Homebrew is the easiest and most flexible way to install the UNIX tools Apple didn't include with OS X."

    eine gute alternative zu macports oder fink.

  • empfehlenswerter svn client?

    • seHaas
    • 21. Februar 2010 um 10:10

    Hi,
    ich hatte mal das Finder Plugin SCPlugin installiert, mach aber jetzt alles wieder per Terminal

  • Unerwünschte Anrufe - Was tun?

    • seHaas
    • 4. April 2009 um 23:02
    Zitat von Nikon the Third


    000435045601


    kann sein das die erste "0" von der Telefonanlage dazugehaengt wird?

    Zitat von http://www.rtr.at/index.php?S=00435045601&id=4506&L=&submit_TK=Suchen

    (0)5 private Netze:
    (0)5 0456 HAGLEITNER HYGIENE INTERNATIONAL GMBH

    mfg seHaas

  • Hulu & Zattoo SOCKS Proxy

    • seHaas
    • 26. März 2009 um 09:12
    Zitat von max_rayman


    Zattoo ist mir leider noch nicht gelungen zum Laufen zu kriegen ..

    hallo,

    ich hab gestern zattoo mit tsocks unter osx mit dieser anleitung zum laufen gebracht (ueber vserver in de.)

    mfg seHaas

  • im lokalen Netzwerk mit OSX ...

    • seHaas
    • 29. Januar 2009 um 14:04

    <apfel>+K und als adresse

    Code
    smb://hansi/sharename

    sollte gehen.

    mfg seHaas

  • A Masterpiece Collection

    • seHaas
    • 23. Januar 2009 um 21:20

    Ich höre folgende immer wieder gerne

    Clint Mansell - Lux Aeterna
    http://www.youtube.com/watch?v=hKLpJtvzlEI
    bessere Version: http://www.youtube.com/watch?v=vl5McGN2L-E

    und das schon genannte

    Zitat von Stephe


    Antonin Dvorak - Sinfonie aus der neuen Welt (und zwar die ganze!!)
    http://www.youtube.com/watch?v=CQmsesSde-o

  • offene (windows-)filehandles und prozesse

    • seHaas
    • 20. November 2008 um 09:50

    danke für die infos.

    ich dachte nicht dass das so ein problem wird :winking_face:
    irgendwie hab ich in erinnerung, dass es bei manchen installer so eine info gibt, welche programme beendet werden sollten. die müssen das ja auch irgendwo auslesen.

    ich werd mit auf jedenfall den code zu filemon anschaun.

    mfg seHaas

  • offene (windows-)filehandles und prozesse

    • seHaas
    • 18. November 2008 um 16:47

    Hallo,

    ich wöchte von einem java programm aus bestehende files austauschen.
    werden die files gerade von einem anderen programm verwendet, sollte der benutzer informiert werden, dass er zuerst dieses beenden muss/soll.

    ich hab also eine liste von filenames, die ich tauschen will und ich möchte eine liste der prozesse, die diese files verwenden.
    das ganze soll unter win32 laufen.

    da ich von java aus noch keine möglichkeit gefunden habe diese systeminfos auszulesen, hab ich es per JavaNativeInterface und einer kleinen DLL probiert. der code dafür hab ich z.t. aus der MSDN und aus anderen samples. zum teil funktionierts, nur bekomm ich nicht den vollständigen pfad für file bzw prozess (laufwerksbuchstabe fehlt).

    ich hab schon lösungen gefunden, die dann einfach alle laufwerke durchgehen und schaut ob es das file dort gibt, aber das ist mir zu unsicher.

    gibts vielleicht eine möglichkeit das ohne DLL zu lösen oder fertige libraries?

    mfg seHaas

    anbei der c-code.

    C
    #include <stdio.h>
    #include <windows.h>
    #include <wchar.h>
    #include <process.h>
    #include "SystemHandles.h"
    
    
    HANDLE OpenProcessWrapper(DWORD processId)
    {
        // Open the process for handle duplication
        return OpenProcess( PROCESS_DUP_HANDLE, TRUE, processId );
    }
    
    
    HANDLE DuplicateHandleWrapper(HANDLE hProcess, HANDLE hRemote)
    {
        HANDLE hDup = NULL;
        // Duplicate the remote handle for our process
        DuplicateHandle( hProcess, hRemote, GetCurrentProcess(), &hDup, 0, FALSE, DUPLICATE_SAME_ACCESS );
        return hDup;
    }
    
    
    void GetFileNameThread( PVOID pParam )
    {
        int len;
        GetFileNameThreadParam* p = (GetFileNameThreadParam*)pParam;
        p->rc = FALSE;
    
        UCHAR lpBuffer[MAX_PATH*2];
        PFILE_NAME_INFORMATION pFNI = (PFILE_NAME_INFORMATION)lpBuffer; 
        DWORD iob[2];
    
        DWORD ntRet = NtQueryInformationFile( p->hFile, iob, lpBuffer, MAX_PATH*2, 9 );
        if ( ntRet == STATUS_SUCCESS){
            len  = pFNI->FileNameLength/2;
            if (len > MAX_PATH)
            {
                len = MAX_PATH-1;
            }
            wcsncpy(p->pName,  pFNI->FileName, len );
            p->pName [len] = L'\0';
            p->rc  = TRUE;
        }
    }
    
    
    BOOL GetFileName(HANDLE h, PWCHAR pName, DWORD processId )
    {
        ULONG size = 0x2000;
        UCHAR* lpBuffer = NULL;
        BOOL ret = FALSE;
    
        HANDLE handle;
        HANDLE hRemoteProcess = NULL;
        BOOL remote = processId != GetCurrentProcessId();
    
        if ( remote )
        {
            // Open the remote process
            hRemoteProcess = OpenProcessWrapper( processId );
            if ( hRemoteProcess == NULL )
            {
                return FALSE;
            }
            // Duplicate the handle
            handle = DuplicateHandleWrapper( hRemoteProcess, h );
        }
        else
        {
            handle = h;
        }
    
    
            // Query the info size
        NtQueryObject( handle, 2, NULL, 0, &size );
    
    
        lpBuffer = (UCHAR*)VirtualAlloc(NULL, sizeof(UCHAR)*size, MEM_COMMIT, PAGE_READWRITE );
        // Query the info size ( type = 2 = ObjectTypeInformation)
        if ( NtQueryObject( handle, 2, lpBuffer, size, NULL ) == 0 )
        {
            int i = _wcsicmp (L"File", (wchar_t*)(lpBuffer+0x60)); // * 0x60 to skip data from OBJECT_INFORMATION_CLASS
            if (i == 0)
            {
                GetFileNameThreadParam tp;
                tp.hFile = handle;
                tp.pName = pName;
    
    
                //Start the thread to get the file name
                HANDLE hThread = (HANDLE)_beginthread( GetFileNameThread, 0, &tp );
                if ( hThread != NULL )
                {
                    if ( WaitForSingleObject(hThread, 50 ) == WAIT_TIMEOUT)
                    {     
                        // Access denied, terminate the thread
                        TerminateThread(  hThread, 0 );
                        wcscpy(pName,  L"");
                        ret  = FALSE;
                    }
                    else
                    {
                        ret = tp.rc;
                    }
                } // else goto cleanup;
            } // else goto cleanup;
         }
    
    
    //cleanup:
        if ( remote )
        {
            if ( hRemoteProcess != NULL )
                CloseHandle( hRemoteProcess );
    
    
            if ( handle != NULL )
                CloseHandle( handle );
        }
        if ( lpBuffer != NULL )
            VirtualFree(lpBuffer, 0, MEM_RELEASE);
        return ret;
    }
    
    
    
    
    JNIEXPORT jboolean JNICALL Java_SystemHandles_initNative (JNIEnv *env, jobject self)
    {
        HANDLE ntdll = LoadLibrary("ntdll.dll");
        NtQuerySystemInformation = (PNtQuerySystemInformation)
                                GetProcAddress((HINSTANCE)ntdll,     "NtQuerySystemInformation" );
        NtQueryObject = (PNtQueryObject)
                                GetProcAddress((HINSTANCE)ntdll,     "NtQueryObject");
        NtQueryInformationFile = (PNtQueryInformationFile)
                                GetProcAddress((HINSTANCE)ntdll,     "NtQueryInformationFile" );
        HANDLE psapi = LoadLibrary("PSAPI.DLL");
        GetProcessImageFileName = (PGetProcessImageFileName)
                                GetProcAddress((HINSTANCE)psapi,    "GetProcessImageFileNameW");
    
        EnumProcessModules = (PEnumProcessModules)
                                GetProcAddress((HINSTANCE)psapi, "EnumProcessModules");
    
    
        GetModuleBaseName = (PGetModuleBaseName)
                                GetProcAddress((HINSTANCE)psapi, "GetModuleBaseNameW");
    
        GetMappedFileName = (PGetMappedFileName)                        
                                GetProcAddress((HINSTANCE)psapi, "GetMappedFileNameW");
    
        jboolean ret = NtQuerySystemInformation && NtQueryObject && NtQueryInformationFile && 
            GetProcessImageFileName && EnumProcessModules && GetModuleBaseName && GetMappedFileName;
        return ret;
    }
    
    
    PSYSTEM_HANDLE_INFORMATION SystemSnapshot()
    {
        DWORD size = 0x6000;
        DWORD needed = 0;
        PSYSTEM_HANDLE_INFORMATION pHI;
    
        pHI = (PSYSTEM_HANDLE_INFORMATION)
                 VirtualAlloc( NULL, size, MEM_COMMIT, PAGE_READWRITE );
        if (! pHI)
        {
            return NULL;
        }
    
        // SYSTEM_INFORMATION_CLASS SystemHandleInformation <-- 16
        if ( NtQuerySystemInformation( 16, pHI, size, &needed ) != 0 )
        {
               if ( needed == 0 )
               {
                    VirtualFree(  pHI, 0, MEM_RELEASE );
                    return NULL;
               }
    
               // The size was not enough
               VirtualFree( pHI, 0, MEM_RELEASE );
    
               pHI = (PSYSTEM_HANDLE_INFORMATION)
                              VirtualAlloc( NULL, size = needed + 256, MEM_COMMIT, PAGE_READWRITE );
        }
        if ( pHI == NULL )
        {
            return NULL;
        }
    
        // Query the objects ( system wide )
        if ( NtQuerySystemInformation( 16, pHI, size, NULL ) != 0 ) {
               VirtualFree( pHI, 0, MEM_RELEASE );
               return NULL;
        }
    
        return pHI; 
    }
    
    
    JNIEXPORT jobject JNICALL Java_SystemHandles_getOpenFilesNative (JNIEnv *env, jobject self)
    {
        jclass cls;
        jmethodID constructor;
        jmethodID addFkt;
        jvalue args[3];
        jobject list;
    
        // reference of the class SystemHandleList
        cls = (*env)->FindClass(env, "SystemFileHandleList");
        // get a reference to the constructor; the name is <init>
        constructor = (*env)->GetMethodID(env, cls, "<init>", "()V");
        // get a reference to the add(String, int, int) method
        addFkt = (*env)->GetMethodID(env, cls, "add", "(Ljava/lang/String;II)V");
        // create a new instance of the class
        list = (*env)->NewObject(env, cls, constructor);
    
    
        
    
        PSYSTEM_HANDLE_INFORMATION pHI = SystemSnapshot();
        if (pHI != NULL)
        {
            int i = 0;
            for (i = 0; i < pHI->NumberOfHandles; i++ )
            {    
                SYSTEM_HANDLE_TABLE_ENTRY_INFO  h = pHI->Handles[i];
    
                WCHAR fileName[MAX_PATH];
                if (!GetFileName((HANDLE)h.HandleValue, fileName, h.UniqueProcessId))
                {
                    continue;
                }
    
    //            WCHAR fn[MAX_PATH];
    //            GetFileNameFromHandle(h.HandleValue, h.UniqueProcessId, fn);
    
                args[0].l = (*env)->NewString(env, fileName, wcslen(fileName));
                args[1].i = h.HandleValue;
                args[2].i = h.UniqueProcessId;
    
                (*env)->CallVoidMethodA(env, list, addFkt, args);
            }
        }
        return list;
    }
    
    
    
    
    JNIEXPORT jstring JNICALL Java_SystemHandles_getProcessFullNameNative (JNIEnv *env, jobject self, jint pid)
    {
        BOOL res;
        int k = 0;
        WCHAR name[MAX_PATH];
        HANDLE hProcess = OpenProcess( PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, pid );
        int count = GetProcessImageFileName(hProcess, name, MAX_PATH);
    
    
        res = count  != 0;
        if (! res)
        {
            k = GetLastError();
            return (*env)->NewStringUTF(env, "<unknown>");
        }
    
        return (*env)->NewString(env, name, wcslen(name));
    }
    
    
    JNIEXPORT jstring JNICALL Java_SystemHandles_getProcessNameNative (JNIEnv *env, jobject self, jint processID)
    {
        WCHAR szProcessName[MAX_PATH] = L"<unknown>";
    
        // Get a handle to the process.
    
        HANDLE hProcess = OpenProcess( PROCESS_QUERY_INFORMATION |
                                       PROCESS_VM_READ,
                                       FALSE, processID );
    
        // Get the process name.
    
        if (hProcess != NULL)
        {
            HMODULE hMod;
            DWORD cbNeeded;
    
            if ( EnumProcessModules( hProcess, &hMod, sizeof(hMod), &cbNeeded) )
            {
                GetModuleBaseName( hProcess, hMod, szProcessName, sizeof(szProcessName)/sizeof(TCHAR) );
            }
            CloseHandle( hProcess );
        }
        return (*env)->NewString(env, szProcessName, wcslen(szProcessName));
    }
    Alles anzeigen
  • Bürgerkarte mit Kartenleser

    • seHaas
    • 13. November 2008 um 07:36

    ich hatte auch ein problem mit meinen namen und hab mich an die oeggk gewendet.
    nur die haben auch gemeint ich bekomme eine neue ecard mit der es dann gehen soll - nur ist jetzt nach 2 wochen noch immer keine da.

    habens zu euch auch was wegen einer neuen gesagt oder gehts mit der alten dann auch?

  • JTable mit unterschiedlichen Typen in derselben Spalte?

    • seHaas
    • 4. November 2008 um 19:03
    Zitat von java-girl

    Bei Verwendung eines TableModels musst du eine Methode implementieren, die für die jeweilige Zelle den Typ zurückgibt.


    Welche Methode meinst du? getColumnClass geht nur auf Spaltenebene.

    Zitat von java-girl

    Gibst du dort den Typ boolean zurück, entsteht automatisch eine CheckBox, ohne dass du selbst einen Renderer schreiben musst.


    Den Renderer musst in der Regel eh nicht selber schreiben, nur du musst halt die Zuordnung selber machen.

    mfg seHaas

  • JTable mit unterschiedlichen Typen in derselben Spalte?

    • seHaas
    • 3. November 2008 um 14:02

    hi,

    schau dir die Funktionen getCellRenderer und getCellEditor von der JTable an.
    da bekommst du die Spalte und Ziele mit übergeben - anhand derer musst halt entscheiden welchen Renderer/Editor du anzeigst.

    Du kannst ja in deinem Tablemodel eine Funktion getCellClass definieren, die du in den oben genannten Funktionen verwendest.

    mfg seHaas

  • Bürgerkarte mit Kartenleser

    • seHaas
    • 23. Oktober 2008 um 07:30
    Zitat von Dirmhirn

    wann ist das denn?


    auf der homepage steht, dass sie zwischen 11:30 und 14:30 uhr da waren

  • Bürgerkarte mit Kartenleser

    • seHaas
    • 22. Oktober 2008 um 22:05

    Laut deren Aussagen, kommen sie naechste Woche wieder ins Freihaus - anscheinend selbe Zeit.

    mfg seHaas

  • Package

    • seHaas
    • 28. Februar 2008 um 13:43
    Zitat von javanewbie

    Hallo.
    Bezogen auf die Zeile system.out.println("Hello World!");


    hast du das "system" eh mit grossem "S" geschrieben?
    gross/kleinschreibung macht einen unterschied.

    mfg seHaas

  • Der "Wie seht ihr aus?" - Thread

    • seHaas
    • 7. Februar 2008 um 15:02
    Zitat von MadLoki


    ich dusche gerne ohne nass zu werden :grinning_squinting_face:

    und ich muss den geruch dann ertragen

  • OpenGL Reference Pages (offline-Version)

    • seHaas
    • 31. Januar 2008 um 09:57

    auf deine frage kann ich jetzt keine genaue antwort geben, aber zur not kannst dir ja mit

    Code
    wget -nc -r --no-parent http://www.opengl.org/sdk/docs/man/

    eine lokale copie erstellen.
    mfg seHaas

  • tastaturlayout (bezeichnung)

    • seHaas
    • 30. Januar 2008 um 17:17

    danke hal,

    aber die apple-tastatur ist doch a wengal zu teuer - aber ich werd mal schaun ob ich vllt eine US bekommen.

    mfg seHaas

  • tastaturlayout (bezeichnung)

    • seHaas
    • 27. Januar 2008 um 09:34

    hallo,

    hier mal die fotos meiner tastaturen:
    mbp http://deebas.com/sehaas/tmp/keyboard/IMG_2768.JPG
    cherry http://deebas.com/sehaas/tmp/keyboard/IMG_2769.JPG

    vielleich ists eh ein wenig kleinlich, aber der unterschied liegt in folgenden tasten:

    Code
    2@ <=> 2"
    3# <=> 3£
    \| <=> #~
    '" <=> '@
    `~ <=> \|
    §± <=> `|

    wobei mich der letzte unterschied nicht so stoert, aber die anderen schon.
    wie schon geschrieben, ich suche ein tastaturlayout das dem mpb entspricht.

    ich hab jetzt die systemeinstellungen nochmal angeschaut - haett ich eigentlich schon frueher machen koennen) - jedenfalls hab ich am mac "U.S. - extended" und am win "u.s. international"
    das scheint eh schon die loesung zu sein - ich hab wohl nicht bedacht dass GB und US einen unterschied machen.
    aber wenn ihr noch einen genaueren tip habt, der mich vor dem naechsten "fehlkauf" bewahrt, bin ich natuerlich offen dafuer :winking_face:

    schoenen sonntag,
    seHaas

  • tastaturlayout (bezeichnung)

    • seHaas
    • 25. Januar 2008 um 14:26

    hallo,

    ich hab mir mein mbp mit englischer (international) tastatur bestellt und weil ich mich jetzt doch schon gut an das layout gewohnt habe wollte ich mir fuer meinen anderen rechner auch eine tastatur mit der selben beschriftung kaufen (ich schau halt doch oefter mal auf die tasten)

    ich hab mir eine "Cherry eVolution Stream" mit GB layout gekauft, nur hat die wieder ein anderes layout. bloederweise hab ich sie nicht gleich zurueckgebracht weil sie halt doch besser zum schreiben war als meine alte, aber jetzt aergert mich wieder, dass die beschriftung nicht zum eingestellten layout passt.

    weiss wer wie das layout heisst das die englischen tastaturen der mbp haben? oder ist das das eine anordnung die nur die macs haben?
    in den onlineshops kann ich das layout leider nicht vergleichen und einen shop zum hingehen der eine auswahl an "fremden" tastaturen hat kenn ich leider nicht.

    sollte jedem infos drueber haben, einen shop zum in wien kennt oder sogar die tastatur brauchen koennte (erst im dez gekauft), dann bitte bei mir melden.

    danke
    seHaas

  • AdiumX mit jabber.fsinf.at

    • seHaas
    • 9. Januar 2008 um 13:37

    danke,
    mit dem cert im keychain funktionierts

Rechtliches

Impressum

Datenschutzerklärung