public class Test {

	public class Test {

	public static void main(String[] args) throws ParseException {
		
		SimpleDateFormat SDformat = new SimpleDateFormat("yyyy-MM-dd"); //표시 형식
		String now ="2014-11-19";				        //시스템의 현재 날짜 저장
		
		Date transdate = SDformat.parse(now);				  //날짜 타입으로 변환
		System.out.println("\t 날짜 형태 : "+transdate );			  //출력
		
		String transStr = SDformat.format(date); 			  //스트링 타입으로 변환
		System.out.println("\t 스트링 형태 : "+transStr);		  //출력
			
	}
}


블로그 이미지

왕왕왕왕

,

windbg 링크

2016. 3. 19. 11:09

https://msdn.microsoft.com/ko-kr/windows/hardware/hh852365.aspx



psinitialsystemprocess 


psgetcurrentprocess

'' 카테고리의 다른 글

윈도우 UEFI 모드로 리커버리 모드 만들기  (0) 2016.12.15
젠킨스 구동  (0) 2016.10.07
서로 잘어울리는 색상  (0) 2015.11.07
잡메모  (0) 2015.06.17
개같은 오류증상들 or 팁  (0) 2015.06.11
블로그 이미지

왕왕왕왕

,

package imageTracking;



import com.sun.jna.Pointer;

import com.sun.jna.platform.win32.Kernel32;

import com.sun.jna.platform.win32.User32;

import com.sun.jna.platform.win32.WinDef.HMODULE;

import com.sun.jna.platform.win32.WinDef.LRESULT;

import com.sun.jna.platform.win32.WinDef.WPARAM;

import com.sun.jna.platform.win32.WinDef.LPARAM;

import com.sun.jna.platform.win32.WinUser;

import com.sun.jna.platform.win32.WinUser.HHOOK;

import com.sun.jna.platform.win32.WinUser.KBDLLHOOKSTRUCT;

import com.sun.jna.platform.win32.WinUser.LowLevelKeyboardProc;

import com.sun.jna.platform.win32.WinUser.MSG;


/** Sample implementation of a low-level keyboard hook on W32. */

class fss  {

   private static volatile boolean quit;

   private static HHOOK hhk;

   private static LowLevelKeyboardProc keyboardHook;


   public static void main(String[] args) {

       final User32 lib = User32.INSTANCE;

       HMODULE hMod = Kernel32.INSTANCE.GetModuleHandle(null);

       keyboardHook = new LowLevelKeyboardProc() {

           @Override

           public LRESULT callback(int nCode, WPARAM wParam, KBDLLHOOKSTRUCT info) {

               if (nCode >= 0) {

                   switch(wParam.intValue()) {

                   case WinUser.WM_KEYUP:

                   case WinUser.WM_KEYDOWN:

                   case WinUser.WM_SYSKEYUP:

                   case WinUser.WM_SYSKEYDOWN:

                       System.err.println("in callback, key=" + info.vkCode);

                       if (info.vkCode == 81) {

                           quit = true;

                       }

                   }

               }


               Pointer ptr = info.getPointer();

               long peer = Pointer.nativeValue(ptr);

               return lib.CallNextHookEx(hhk, nCode, wParam, new LPARAM(peer));

           }

       };

       hhk = lib.SetWindowsHookEx(WinUser.WH_KEYBOARD_LL, keyboardHook, hMod, 0);

       System.out.println("Keyboard hook installed, type anywhere, 'q' to quit");

       new Thread() {

           @Override

           public void run() {

               while (!quit) {

                   try { Thread.sleep(10); } catch(Exception e) { }

               }

               System.err.println("unhook and exit");

               lib.UnhookWindowsHookEx(hhk);

               System.exit(0);

           }

       }.start();


       // This bit never returns from GetMessage

       int result;

       MSG msg = new MSG();

       while ((result = lib.GetMessage(msg, null, 0, 0)) != 0) {

           if (result == -1) {

               System.err.println("error in get message");

               break;

           }

           else {

               System.err.println("got message");

               lib.TranslateMessage(msg);

               lib.DispatchMessage(msg);

           }

       }

       lib.UnhookWindowsHookEx(hhk);

   }

}


'JAVA > JNA' 카테고리의 다른 글

JNA사용을 위해 다운받아야될것들  (0) 2016.03.14
JNA 키보드이벤트 발생 keybd_event  (0) 2016.03.14
블로그 이미지

왕왕왕왕

,

JNA.JAR


Platform.jar 


2개만잇으면됨

두버전이 일치해야됨

'JAVA > JNA' 카테고리의 다른 글

JNA 로우레벨후킹 예제  (0) 2016.03.17
JNA 키보드이벤트 발생 keybd_event  (0) 2016.03.14
블로그 이미지

왕왕왕왕

,

package openCV;


import java.awt.Toolkit;

import java.awt.datatransfer.Clipboard;

import java.awt.datatransfer.ClipboardOwner;

import java.awt.datatransfer.DataFlavor;

import java.awt.datatransfer.StringSelection;

import java.awt.datatransfer.Transferable;


import com.sun.jna.Native;

import com.sun.jna.platform.win32.User32;

import com.sun.jna.platform.win32.WinDef.HWND;

import com.sun.jna.win32.StdCallLibrary;


public class te implements ClipboardOwner {

    public interface CustomUser32 extends StdCallLibrary {

        CustomUser32 INSTANCE = (CustomUser32) Native.loadLibrary("user32", CustomUser32.class);

        HWND GetForegroundWindow();

        void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo);

    }


    public void lostOwnership(Clipboard clipboard, Transferable contents) {

        // dummy: needed for `ClipboardOwner`

    }


    void controlC(CustomUser32 customUser32) {

        customUser32.keybd_event((byte) 07/* VK_CONTROL*/, (byte) 0, 0, 0);

        customUser32.keybd_event((byte) 0x43 /* 'C' */, (byte) 0, 0, 0);

        customUser32.keybd_event((byte) 0x43 /* 'C' */, (byte) 0, 2 /* KEYEVENTF_KEYUP */, 0);

        customUser32.keybd_event((byte) 0x11 /* VK_CONTROL*/, (byte) 0, 2 /* KEYEVENTF_KEYUP */, 0);// 'Left Control Up

    }


    String getClipboardText() throws Exception {

        return (String) Toolkit.getDefaultToolkit().getSystemClipboard().getData(DataFlavor.stringFlavor);

    }


    void setClipboardText(String data) throws Exception {

        Toolkit.getDefaultToolkit().getSystemClipboard().setContents(new StringSelection(data), this);

    }


    String getSelectedText(User32 user32, CustomUser32 customUser32) throws Exception {

        HWND hwnd = customUser32.GetForegroundWindow();

        char[] windowText = new char[512];

        user32.GetWindowText(hwnd, windowText, 512);

        String windowTitle = Native.toString(windowText);

        System.out.println("Will take selected text from the following window: [" + windowTitle + "]");

        String before = getClipboardText();

        controlC(customUser32); // emulate Ctrl C

        Thread.sleep(100); // give it some time

        String text = getClipboardText();

        System.out.println("Currently in clipboard: " + text);

        // restore what was previously in the clipboard

        setClipboardText(before);

        return text;

    }


    public static void main(String[] args) throws Exception {

        te foo = new te();

        Thread.sleep(2000); // take some time for you to select something anywhere

        System.out.println(foo.getSelectedText(User32.INSTANCE, CustomUser32.INSTANCE));

    }

}

'JAVA > JNA' 카테고리의 다른 글

JNA 로우레벨후킹 예제  (0) 2016.03.17
JNA사용을 위해 다운받아야될것들  (0) 2016.03.14
블로그 이미지

왕왕왕왕

,

package openCV;


import java.util.Arrays;


import org.bytedeco.javacpp.DoublePointer;

import org.bytedeco.javacpp.opencv_core.IplImage;

import org.opencv.core.Core;

import org.opencv.core.Core.MinMaxLocResult;


import com.googlecode.javacv.cpp.opencv_highgui.CvTrackbarCallback;

import com.googlecode.javacv.cpp.opencv_legacy.CvCallback;


//필수 4개 임포트

import static org.bytedeco.javacpp.opencv_imgproc.*;

import static org.bytedeco.javacpp.opencv_highgui.*;

import static org.bytedeco.javacpp.opencv_imgcodecs.*;

import static org.bytedeco.javacpp.opencv_core.*;


public class template {


public double imageAnalysis(String originPath, String tmpPath) {

// TODO Auto-generated method stub


IplImage src = cvLoadImage(originPath);

IplImage tmp = cvLoadImage(tmpPath);

int width = src.width();

int height = src.height();

IplImage result = cvCreateImage(cvSize(src.width() - tmp.width() + 1, src.height() - tmp.height() + 1),

IPL_DEPTH_32F, 1);

cvZero(result);


// Match Template Function from OpenCV

cvMatchTemplate(src, tmp, result, CV_TM_CCOEFF_NORMED);

DoublePointer min_val = new DoublePointer(1);

DoublePointer max_val = new DoublePointer(1);


CvPoint minLoc = new CvPoint();

CvPoint maxLoc = new CvPoint();


// Get the Max or Min Correlation Value

cvMinMaxLoc(result, min_val, max_val, minLoc, maxLoc, null);


CvPoint point = new CvPoint();

point.x(maxLoc.x() + tmp.width());

point.y(maxLoc.y() + tmp.height());


if (max_val.get() < 0.7) {

// System.out.println("정확히 일치하는 이미지가없습니다.");

// hk.keyPresss();0000000000

} else {

cvRectangle(src, maxLoc, point, CvScalar.RED, 4, 8, 0);// Draw


// hk.mouseMove((maxLoc.x() + tmp.width()/2), (maxLoc.y() + tmp.height()/2));

// a

// Rectanglea

// for

// Matched4

// Region4


}


// CvRect rect = new CvRect();

// rect.x(maxLoc.x());

// rect.y(maxLoc.y());

// rect.width(tmp.width());

// rect.height(tmp.height());

// cvSetImageROI(src, rect);

// IplImage imageNew = cvCreateImage(cvGetSize(src),

// src.depth(),

// src.nChannels());

// cvCopy(src, imageNew);

// cvSaveImage("C:\\Users\\kk\\Pictures\\3.png", imageNew);

cvShowImage("Lena Image", src);

cvWaitKey(0);


cvReleaseImage(src);

cvReleaseImage(tmp);

cvReleaseImage(result);

return max_val.get();

}

}



'JAVA > 자바CV' 카테고리의 다른 글

자바CV 다운주소  (0) 2016.03.13
자바CV 필수 임포트  (0) 2016.03.12
블로그 이미지

왕왕왕왕

,
http://opencv.org/

https://code.google.com/archive/p/javacv/

 

 

bytedeco를위한..

http://search.maven.org/#artifactdetails%7Corg.bytedeco%7Cjavacv%7C1.1%7Cjar

 

 

'JAVA > 자바CV' 카테고리의 다른 글

자바CV 원본이미지에서 부분이미지를 찾아내기  (0) 2016.03.13
자바CV 필수 임포트  (0) 2016.03.12
블로그 이미지

왕왕왕왕

,

import static com.googlecode.javacv.cpp.opencv_core.*;
import static com.googlecode.javacv.cpp.opencv_highgui.*;
import static com.googlecode.javacv.cpp.opencv_imgproc.*;

 

 

 

 

import static org.bytedeco.javacpp.opencv_calib3d.*;
import static org.bytedeco.javacpp.opencv_core.*;
import static org.bytedeco.javacpp.opencv_highgui.*;
import static org.bytedeco.javacpp.opencv_imgproc.*;

'JAVA > 자바CV' 카테고리의 다른 글

자바CV 원본이미지에서 부분이미지를 찾아내기  (0) 2016.03.13
자바CV 다운주소  (0) 2016.03.13
블로그 이미지

왕왕왕왕

,